@gromyko21

Личный чат на django chanels как правильно сделать?

Всем доброго времени суток. Впал в ступор. Делаю для своего проекта чат в реальном в времени на django с использованием channels. Смог сделать(по гайду) только одну комнату чата, где могут переписываться все пользователи. Но мне нужно реализовать личные сообщения.
Основные подозрения падают на изменение вот этой части consumer
def connect(self):
        self.room_name = self.scope['url_route']['kwargs']['room_name']
        self.room_group_name = 'chat_%s' % self.room_name
        async_to_sync(self.channel_layer.group_add)(
            self.room_group_name,
            self.channel_name
        )
        self.accept()

Которая переводит в комнату при вводе любого url(комната всегда одна и та же).
Я не стал приводить много кода, который может быть связан с этим. Если кто-то в теме разбирается - скажите откуда код вам показать, чтобы вы могли мне помочь.
Еще раз повторюсь чат работает, все нормально, но нужна возможность написать любому пользователю. На всякий случай приложу скрин работующего чата.5f5611d2b7193486772165.png
  • Вопрос задан
  • 350 просмотров
Пригласить эксперта
Ответы на вопрос 1
alternativshik
@alternativshik
личные сообщения делаются с комнатой в имени которой есть id юзера. Вот и все дела. При входе в чат входим в комнату общую(если надо) + в личную
self.room_name = f'{self.room_name}_{self.scope["user"].id}'
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы