def ws_disconnect(message): """ Channels connection close. Deregister the client """ language = message.channel_session['knocker'] gr = Group('knocker-{0}'.format(language)) gr.discard(message.reply_channel)
def disconnect_group_by_arrival_time(message, params): session_pk, page_index, app_name, player_id = params.split(',') session_pk = int(session_pk) page_index = int(page_index) group_name = channels_group_by_arrival_time_group_name(session_pk, page_index) group = Group(group_name) group.discard(message.reply_channel)
def ws_disconnect(message): try: label = message.channel_session['room'] room = Room.objects.get(label=label) group = Group('chat-' + label, channel_layer=message.channel_layer) group.discard(message.reply_channel) send_user_login(group, message, False) except (KeyError, Room.DoesNotExist): pass
def disconnect_wait_page(message, params): app_label, page_index, model_name, model_pk = params.split(',') page_index = int(page_index) model_pk = int(model_pk) group_name = channels_wait_page_group_name(app_label, page_index, model_name, model_pk) group = Group(group_name) group.discard(message.reply_channel)
def disconnect_wait_page(message, params): app_label, page_index, model_name, model_pk = params.split(',') page_index = int(page_index) model_pk = int(model_pk) group_name = channels_wait_page_group_name( app_label, page_index, model_name, model_pk ) group = Group(group_name) group.discard(message.reply_channel)
def disconnect_wait_page(message, params): session_pk, page_index, group_id_in_subsession = params.split(',') session_pk = int(session_pk) page_index = int(page_index) group_name = channels_wait_page_group_name( session_pk, page_index, group_id_in_subsession ) group = Group(group_name) group.discard(message.reply_channel)
def party_connected(message, party_id): if party_id != message.http_session['party_id']: raise Exception( f"Party ID mismatch: {party_id} != {message.channel_session['party_id']}" ) old_member_id = message.http_session.get('member_id') if old_member_id: try: member = PartyMember.objects.get(id=old_member_id) except: pass else: if member.nick: group = Group(f"party-{member.party.id}") group.send({ "text": json.dumps({ "action": "member_left", "channel": member.channel, "nick": member.nick }) }) group.discard(message.reply_channel) member.delete() message.http_session.delete('member_id') party = Party.objects.get(id=party_id) if party.members.count() >= 6: print("Too many members!") message.reply_channel.send({ "text": json.dumps({ "action": "goodbye", "message": "room_full" }) }) message.reply_channel.send({"close": True}) return member = PartyMember(party=party, channel=message.reply_channel.name) member.save() message.http_session['member_id'] = member.id message.http_session.save() message.reply_channel.send({"accept": True}) message.reply_channel.send({ "text": json.dumps({ "action": "hello", "channel": message.reply_channel.name }) })
def ws_disconnect(message): try: label = message.channel_session['room'] room = Room.objects.get(label=label) group = Group('chat-' + label, channel_layer=message.channel_layer) group.discard(message.reply_channel) position = message.channel_session['position'] player = room.player_set.filter(position=position).first() room.player_set.remove(player) room.capacity += 1 room.save() send_players_update(room, group) except (KeyError, Room.DoesNotExist): pass
def party_disconnected(message): if 'member_id' not in message.http_session: return try: PartyMember.objects.get(id=message.http_session['member_id']).delete() except PartyMember.DoesNotExist: print("No such party member.") message.http_session.delete('member_id') message.http_session.save() if 'nickname' not in message.http_session: return group = Group(f"party-{message.http_session['party_id']}") group.discard(message.reply_channel) group.send({ "text": json.dumps({ "action": "member_left", "channel": message.reply_channel.name, "nick": message.http_session['nickname'] }) })
def chat_receive(msg): if not msg.user.is_authenticated(): # TODO return data = json.loads(msg.content['text']) pprint(data) tag = data['tag'] room = data['data']['room'] group = Group('chat-' + room) if tag == 'send': group.add(msg.reply_channel) group.send({ 'text': json.dumps({ 'user': msg.user.player.id, 'room': room, 'msg': data['data']['msg'], }), }) elif tag == 'subscribe': if data['data']['yes']: group.add(msg.reply_channel) else: group.discard(msg.reply_channel)
def disconnect_auto_advance(message, params): participant_code, page_index = params.split(',') group = Group('auto-advance-{}'.format(participant_code)) group.discard(message.reply_channel)
def disconnect_wait_for_session(message, pre_create_id): group = Group( channels_create_session_group_name(pre_create_id) ) group.discard(message.reply_channel)
def disconnect(self, request, *args, **kwargs): band_id = kwargs.get("band_id") group = Group(self.CHAT_GROUP_TEMPLATE % band_id) group.discard(request.reply_channel)
def ws_disconnect(message, room): g = Group('chat:{}'.format(room)) g.discard(message.reply_channel) data = {'text': 'A user disconnected', 'type': 'log'} g.send({'text': json.dumps(data)})
def chat_disconnect(message): room = message.channel_session['room'] group = Group('chat-%s' % room) group.discard(message.reply_channel)
def ws_disconnect(message, post_pk): group = Group('post-{}'.format(post_pk)) group.discard(message.reply_channel) group = Group(message.channel_session['session_group_name']) group.discard(message.reply_channel)
def ws_disconnect(message): group = Group("room-%s" % message.user.id) group.discard(message.reply_channel)
def clear_group(group_name): print("Disconnecting previously connected chefs in group %s" % group_name) group = Group(group_name) chans = channel_layers.backends['default'].channel_layer.group_channels(group_name) for chan in chans: group.discard(chan)