Здравствуйте, подскажите пожалуйста.
Делаю видеочат на Django и WebRTC, и у меня есть функция установки пользователя на удержание.
Функция работает отлично, админ нажимает на кнопку, пользователю по каналу через функцию self.channel_layer.send() отправляется сигнал, у того на экране появляется alert() и он ставится на удержание.
Однако, когда я убираю его с удержания, сигнал, отправляющийся по тому же адресу, приходит всем пользователям, хотя канал указан тот же, что и в предыдущем разе.
Функция удержания:
if action == 'onhold': # поставили на удержание
await self.channel_layer.send(
list(usersChannels.keys())[list(usersChannels.values()).index(message['peer'])], #канал на удержание
{
'type': 'channel_message',
'action': 'onhold',
'room': 'room',
'message': {message['peer']: '1'},
}
)
return
Функция снятия:
if action == 'unhold': # убрали с удержания
await self.channel_layer.send(
list(usersChannels.keys())[list(usersChannels.values()).index(message['peer'])],
{
'type': 'channel_message',
'action': 'unhold',
'room': 'room',
'message': {message['peer']: '1'},
}
)
return
Весь код:
https://pastebin.com/CicsUhy4 (извиняюсь за корявость)
Даже примерно не понимаю, в чем причина. В Channels новичок, буду рад любым подсказкам.