Our realtime client libraries by default will echo messages published back to the publisher, however they can be configured to disable this feature when instancing the library, by setting the echoMessages client option to false.


See the echoMessages option documentation at https://www.ably.io/documentation/realtime/usage for more info.




If you are publishing from a REST client and want to prevent one particular realtime client (which has echoMessages set to false) from receiving the message, as if that client was the one that published the message, you can do that by setting the connectionKey (in ruby, connection_key) of the message to the connectionKey of the realtime client. For example, in ably-ruby:


channel.publish([{
  name: <some_name>,
  data: <some_data>,
  connection_key: <the value of realtimeClient.connection.key of a realtime client library instance>
}])