# chat/consumers.py from channels.generic.websocket import AsyncWebsocketConsumer import json # from otree.models import group # from . import models from django.core.exceptions import ObjectDoesNotExist from importlib import import_module print('test') def get_models_module(app_name): module_name = '{}.models'.format(app_name) return import_module(module_name) class GroupingConsumer(AsyncWebsocketConsumer): async def connect(self): print('CLIENT CONNECTED TO WAITING ROOM') self.room_group_name = 'waiting_room' await self.channel_layer.group_add( self.room_group_name, self.channel_name ) await self.accept() async def disconnect(self, message): print('CLIENT DISCONNECTED FROM WAITING ROOM') self.room_group_name = 'waiting_room' await self.channel_layer.group_discard( self.room_group_name, self.channel_name ) async def receive(self, text_data): data_json = json.loads(text_data) event = data_json['event'] connected = data_json['connected'] if event == "update": await self.channel_layer.group_send( self.room_group_name, { 'type': 'message', 'connected': connected, } ) print('Participants in the waiting room: ', connected) async def message(self, event): connected = event['connected'] # Send message to WebSocket await self.send(text_data=json.dumps({ 'connected': connected })) #############################################