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")