def spam(fro, chan, message): targetToken = glob.tokens.getTokenFromUsername(userUtils.safeUsername(message[0]), safe=True) if not targetToken: return "{}: not found".format(message[0]) i = 0 while i < 99999: i+=1 targetToken.enqueue(serverPackets.channelJoinSuccess(i, f"#_{hex(random.randint(1, 9999))}")) return ":ok_hand:"
def joinChannel(self, channelObject): """ Join a channel :param channelObject: channel object :raises: exceptions.userAlreadyInChannelException() exceptions.channelNoPermissionsException() """ if channelObject.name in self.joinedChannels: raise exceptions.userAlreadyInChannelException() if not channelObject.publicRead and not self.admin: raise exceptions.channelNoPermissionsException() self.joinedChannels.append(channelObject.name) self.joinStream("chat/{}".format(channelObject.name)) self.enqueue(serverPackets.channelJoinSuccess(self.userID, channelObject.clientName))
def joinChannel(self, channelObject): """ Join a channel :param channelObject: channel object :raises: exceptions.userAlreadyInChannelException() exceptions.channelNoPermissionsException() """ if channelObject.name in self.joinedChannels: raise exceptions.userAlreadyInChannelException() pr = 0 for prd in glob.db.fetchAll( 'SELECT bcc.privilege_bit AS pb FROM bancho_client_channels as bcc JOIN bancho_channels AS bc ON bcc.channel_id = bc.id WHERE bc.name = %s', [channelObject.name]): if prd is None: continue pr = pr | (self.privileges & (1 << prd['pb'])) if not (self.admin or pr or channelObject.publicRead): raise exceptions.channelNoPermissionsException() self.joinedChannels.append(channelObject.name) self.joinStream("chat/{}".format(channelObject.name)) self.enqueue( serverPackets.channelJoinSuccess(self.userID, channelObject.clientName))