digitaleagenturnc/users/mainwebsocket.py

47 lines
1.2 KiB
Python

import json
from channels.generic.websocket import WebsocketConsumer
from asgiref.sync import async_to_sync
class UsersConsumer(WebsocketConsumer):
'''
CONNECT A WEBSOCKET
Die Clients werden in Channel-Layer pro Agentur gepackt, damit gesendete Websocket-Nachrichten
auch nur Clients innerhalb der Agentur treffen!
'''
def connect(self):
loggeduser = self.scope["user"]
async_to_sync(self.channel_layer.group_add)(
"agency_" + str(loggeduser.profile.agency.pk),
self.channel_name
)
self.accept()
def disconnect(self, close_code):
pass
'''
def receive(self, text_data):
loggeduser = self.scope["user"]
async_to_sync(self.channel_layer.group_send)(
'allusers',
{
'type': 'chat_message',
'message': 'von mainwebsocket.py'
}
)
'''
# WEBSOCKET-DATA-CONTENT
# UPDATET STANDARD
def update_standard(self, event):
self.send("standard_update")
# NEW AGENCY NEWS
def agency_newnews(self, event):
print(event)
self.send("agency_newnews")