How to send external notifications only to clients not connected to a channel

It is probably good to have a common channel for all

and filter out with handle_out

sample code

  intercept ["join_game"]
  
  # Restrict push to players only
  def handle_out("join_game", payload, socket) do
    player_id = socket.assigns.current_user.id
    if (player_id === payload.challenger_id || player_id === payload.other_id) do
      push socket, "join_game", payload
      {:noreply, socket}
    else
      {:noreply, socket}
    end
  end
2 Likes