Django-channels: почему сообщение отправляется всем, а не одному пользователю?

Всем привет. Я создаю WebRTC приложение для видеочата. У меня есть функция удержания пользователя на линии, которая отлично работает: я нажимаю кнопку, сигнал идет на сервер, сервер посылает его пользователю с помощью self.channel_layer.send(), пользователь получает alert() и ставится на удержание. Но когда я хочу снять его с удержания, сервер посылает сигнал всем в комнате, несмотря на то, что все параметры те же, что и в функции "hold". Удержание пользователя:

if action == 'onhold':  #holding user
            await self.channel_layer.send(
                list(usersChannels.keys())[list(usersChannels.values()).index(message['peer'])], #channel to hold
                {
                    'type': 'channel_message',
                    'action': 'onhold',
                    'room': 'room',
                    'message': {message['peer']: '1'},
                }
            )
            return

Удержание пользователя:

if action == 'unhold':  # unholding user
            await self.channel_layer.send(
                list(usersChannels.keys())[list(usersChannels.values()).index(message['peer'])], # channel to unhold
                {
                    'type': 'channel_message',
                    'action': 'unhold',
                    'room': 'room',
                    'message': {message['peer']: '1'},
                }
            )
            return

Полный код здесь: https://pastebin.com/CicsUhy4 (извините за "грязность"). Я очень новичок в каналах, поэтому любая подсказка будет благословением. Извините за плохой английский. Спасибо.

Вернуться на верх