Как найти, какой канал отправил определенное сообщение в Django channels + Websocket api?

Я реализую вещатель, используя каналы Django, т.е. я реализую группу каналов, где сообщение, отправленное от одного экземпляра потребителя, связанного с каналом, будет отправлено всем другим экземплярам, у которых есть их связанные каналы, зарегистрированные в этой группе.

Я использую следующий шаблон:

<!-- {% load static %} -->
<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Messages</title>
        <!-- <link href="{% static 'hello/styles.css' %}" rel="stylesheet"> -->
    </head>
    <body>
        <textarea name="" id="chat-log" cols="100" rows="20"></textarea><br>
        <input type="text" id="chat-message-input" size="100"><br>
        <input type="button" value="send" id="chat-message-submit">
        <script>
            var ws = new WebSocket('ws://127.0.0.1:8000/ws/sc/')

            ws.onopen = function(){
                console.log('Websocket connection open....', event)
            }
            ws.onmessage = function(event){
                const messageTextDom = document.getElementById('chat-log')
                messageTextDom.value += JSON.parse(event['data']).msg + '\n'
                console.log('Message Recieved From Serever...', event)
            }
            ws.onerror = function(event){
                console.log('Message Error Occured...', event)
            }
            ws.onclose = function(event){
                console.log('Webdsocket connection closed..', event)
            }

            document.getElementById('chat-message-submit').onclick = 
            function(event){
                const messageInputDom = document.getElementById('chat-message-input')
                const message = messageInputDom.value
                ws.send(JSON.stringify({
                    'msg': message
                }))
                messageInputDom.value = ''
            }
        </script>
    </body>
</html>

и настроил группу и утилиту отправки сообщений на бэкенде следующим образом:

from channels.generic.websocket import SyncConsumer
from asgiref.sync import async_to_sync
from channels.exceptions import StopConsumer


class TestConsumer(SyncConsumer):

    def websocket_connect(self, event):
      
       async_to_sync(self.channel_layer.group_add)('programmers', self.channel_name)
       self.send({
           'type': 'websocket.accept'
       })
   
    def websocket_receive(self, event):

        async_to_sync(self.channel_layer.group_send)('programmers', {
           'type': 'chat_message',
           'message': event['text']
       })
        
    def chat_message(self, event):

        self.send({
           'type': 'websocket.send',
           'text': event['message']
       })

    def websocket_disconnect(self, *args, **kwargs):
        async_to_sync(self.channel_layer.group_discard)('programmers', self.channel_name)
        raise StopConsumer()

Как я могу найти, какой пользователь отправил сообщение и, сравнивая на основе пользователя, который отправил сообщение, выполнить некоторое действие? Например, в WhatsApp в разговоре в представлении пользователя1 (потребительский веб-экземпляр) его сообщения отображаются справа на зеленом фоне, а в представлении пользователя2 (веб-экземпляр потребителя) его сообщения отображаются справа с зеленым фоном.

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