code: def set_pubsub_channels(self, request, channels):
          
          facility = request.path_info.replace(settings.WEBSOCKET_URL, '', 1)
  
          # initialize publishers
          audience = {
              'users': 'publish-user' in channels and [SELF] or [],
              'groups': 'publish-group' in channels and [SELF] or [],
              'sessions': 'publish-session' in channels and [SELF] or [],
              'broadcast': 'publish-broadcast' in channels,
          }
          self._publishers = set()
          for key in self._get_message_channels(request=request, facility=facility, **audience):
              self._publishers.add(key)
  
          # initialize subscribers
          audience = {
              'users': 'subscribe-user' in channels and [SELF] or [],
              'groups': 'subscribe-group' in channels and [SELF] or [],
              'sessions': 'subscribe-session' in channels and [SELF] or [],
              'broadcast': 'subscribe-broadcast' in channels,
          }
          self._subscription = self._connection.pubsub()
          for key in self._get_message_channels(request=request, facility=facility, **audience):
              self._subscription.subscribe(key)
docs: Initialize the channels used for publishing and subscribing messages through the message queue.