from channels.generic.websocket import JsonWebsocketConsumer from funkwhale_api.common import channels class JsonAuthConsumer(JsonWebsocketConsumer): def connect(self): try: assert self.scope["user"].pk is not None except (AssertionError, AttributeError, KeyError): return self.close() return self.accept() def accept(self): super().accept() for group in self.groups: channels.group_add(group, self.channel_name)