def dashboard(server_id): log.info("loading cogs page") default_message = "{user}, welcome to **{server}**!" get_message = db.hget("{}:Welcome:Message".format(server_id), "message") if get_message is None: db.hset("{}:Welcome:Message".format(server_id), "message", default_message) get_message = default_message config = db.hgetall("{}:Welcome:Message".format(server_id)) channel = utils.get_channel(server_id) delete_msg = db.hget("{}:Welcome:Message".format(server_id), "delete_msg") or 0 if config.get("channel", False) is False: welcome_channel = server_id else: welcome_channel = config['channel'] db_assign_role = db.smembers('{}:Welcome:Assign_Roles'.format(server_id)) or [] get_role = utils.resource_get("/guilds/{}".format(server_id)) guild_roles = get_role['roles'] assign_role = list(filter(lambda r: r['name'] in db_assign_role or r['id'] in db_assign_role, guild_roles)) return { 'guild_channel': channel, "welcome_channel": welcome_channel, 'assign_role': assign_role, 'guild_roles': guild_roles, 'message': get_message, 'config': config, 'delete_msg': delete_msg}
def dashboard(server_id): log.info("loading cogs page") default_message = "{user}, welcome to **{server}**!" get_message = db.hget("{}:Welcome:Message".format(server_id), "message") if get_message is None: db.hset("{}:Welcome:Message".format(server_id), "message", default_message) get_message = default_message config = db.hgetall("{}:Welcome:Message".format(server_id)) channel = utils.get_channel(server_id) delete_msg = db.hget("{}:Welcome:Message".format(server_id), "delete_msg") or 0 if config.get("channel", False) is False: welcome_channel = server_id else: welcome_channel = config['channel'] db_assign_role = db.smembers( '{}:Welcome:Assign_Roles'.format(server_id)) or [] get_role = utils.resource_get("/guilds/{}".format(server_id)) guild_roles = get_role['roles'] assign_role = list( filter( lambda r: r['name'] in db_assign_role or r['id'] in db_assign_role, guild_roles)) return { 'guild_channel': channel, "welcome_channel": welcome_channel, 'assign_role': assign_role, 'guild_roles': guild_roles, 'message': get_message, 'config': config, 'delete_msg': delete_msg }
def category(server_id): log.info("Category page require for discourse") config = db.hgetall("{}:Discourse:Config".format(server_id)) domain = config["domain"] default = config["channel"] api_key = config["api_key"] username = config["username"] channel = db.hgetall("{}:Discourse:Category".format(server_id)) log.info("The channel is {}".format(channel)) if domain is None: log.info("Missing domain, assume user didn't do set up") flash("You haven't finish config, please enter info in and click update!") return dashboard(server_id = server_id) elif channel is None: log.info("Channel is None") flash("There is something wrong with channel, please try set it again") return dashboard(server_id = server_id) #Getting guild channel list guild_channel = utils.get_channel(server_id) guild_channel = sorted(guild_channel,key = lambda k:k["name"]) log.info(guild_channel) default = [x["name"] for x in guild_channel if x["id"] == default][0] log.info("default show {}".format(default)) #Getting info about server, id, name and icon of it to display it. server = { 'id':server_id, 'name':db.hget("Info:Server",server_id), 'icon':db.hget("Info:Server_Icon",server_id)} #making requests to discourse site within API to get category info so we can send topics to certain channel chosen by user. r = requests.get("{}/site.json?api_key={}&api_username={}".format(domain,api_key,username)) raw_data = r.json()["categories"] data = [] sub_temp = {} for x in raw_data: #checking subcategory and category category_id = x['id'] have_sub = x.get("parent_category_id") if have_sub: #if it have sub, we should append to them sub = sub_temp.get(have_sub) if sub: sub.append({"id":str(category_id),"name":x["name"],"sub":"true"}) else: sub_temp.update({have_sub:[{"id":str(category_id),"name":x["name"],"sub":"true"}]}) continue data.append({"id":str(category_id),"name":x["name"],"sub":"false"}) #getting proper fresh data after getting all sub categorys, it is doing in order. fresh_data = [] for x in data: fresh_data.append(x) sub = sub_temp.get(int(x["id"])) if sub: for x in sub: fresh_data.append(x) log.debug(fresh_data) return render_template("category.html",default_channel = default,category = fresh_data,guild_channel = guild_channel,cate_channel=channel,server=server)
async def run(self, client): activeServers = list(client.servers)[0] list_members = activeServers.members brawl_database = database.SQL_Server() print("Start Task") warning_channel = get_channel(client, "warnings") brawl_database = database.SQL_Server() if "ClubTag" not in brawl_database.return_allUsers(): msg = "@everyone Club Tag not added to the database" await client.send_message(warning_channel, msg) else: for member in list_members: member = (str(member)) member_object = activeServers.get_member_named(member) role = [get(member_object.server.roles, name="member")] if member_object.bot or get(member_object.roles, name="owner"): pass elif brawl_database.return_userWarning( member) >= self.allowed_userWarning and get( member_object.roles, name="member"): msg = " removed from server since they did not insert player information in database" await client.send_message(warning_channel, member_object.mention + msg) await client.remove_roles(member_object, *role) elif member not in brawl_database.return_allUsers(): brawl_database.insert_user_warning(member) msg = " did not insert player information in database" await client.send_message(warning_channel, member_object.mention + msg) elif not brawl_database.information_present(member): brawl_database.append_user_warning(member) msg = " did not insert player information in database" await client.send_message(warning_channel, member_object.mention + msg) elif get(member_object.roles, name="member"): brawl_client = brawlstats.Client(self.brawl_api) with open('tags.txt', 'r') as f: brawl_tag = f.read().splitlines() list_users = [] list_users.extend( brawl_client.get_club_members( brawl_database.view_information_user("ClubTag"))) for tag in brawl_tag: list_users.extend(brawl_client.get_club_members(tag)) if member not in list_users: msg = " removed from server since they are not part of the club" await client.send_message(warning_channel, member_object.mention + msg) await client.remove_roles(member_object, *role)
async def run(self, client): now = datetime.now() if now.hour == 12: msg = "It's high noon!" else: msg = f"It is {now.hour}:{now.minute}" channel = get_channel(client, "general") await channel.send(msg)
def dashboard(server_id): log.info("loading cog page") config = db.hgetall("{}:Log:Config".format(server_id)) channel = utils.get_channel(server_id) if config.get("channel", False) is False: log_channel = server_id else: log_channel = config['channel'] return { 'guild_channel': channel, "log_channel": log_channel, 'config': config }
def dashboard(server_id): log.info("Level dashboard") key_path = '{}:Level:Config'.format(server_id) initial_announcement = '{player}, you just advanced to **level {level}** !\n Now go and fight more mobs!' announcement = db.hget(key_path,"announce_message") if announcement is None: db.hset(key_path,"announce_message", initial_announcement) db.hset(key_path.format(server_id),"announce",'on') cooldown = db.hget(key_path.format(server_id),"rank_cooldown") or 0 config = db.hgetall(key_path) #getting database of members db_banned_members = db.smembers('{}:Level:banned_members'.format(server_id)) or [] db_banned_roles = db.smembers('{}:Level:banned_roles'.format(server_id)) or [] db_banned_channels = db.smembers('{}:Level:banned_channels'.format(server_id)) or [] #checking roles get_role = utils.resource_get("/guilds/{}".format(server_id)) guild_roles = get_role['roles'] #get member info get_member = utils.resource_get("/guilds/{}/members?&limit=1000".format(server_id)) guild_members=[x['user'] for x in get_member] #getting channel guild_channels = utils.get_channel(server_id) #ban role and members banned_roles = list(filter(lambda r: r['id'] in db_banned_roles,guild_roles)) banned_members = list(filter(lambda r:r['id'] in db_banned_members,guild_members)) banned_channels = list(filter(lambda r:r['id'] in db_banned_channels,guild_channels)) log.info("Done getting list of banned, now getting rewards roles") #reward roles role_level = db.hgetall("{}:Level:role_reward".format(server_id)) or {} temp = [ {"name":x['name'], "id":x['id'], "color":hex(x["color"]).split("0x")[1], "level":role_level.get(x["id"],0)} for x in guild_roles] temp.sort(key=lambda x: x['name']) reward_roles = [temp[:int(len(temp)/2)],temp[int(len(temp)/2):]] #Spliting them into half return { 'config':config, 'banned_members': banned_members, 'guild_members':guild_members, 'banned_roles': banned_roles, 'guild_roles':guild_roles, 'banned_channels':banned_channels, 'guild_channels':guild_channels, 'cooldown': cooldown, "reward_roles":reward_roles, }
def dashboard(server_id): number = random.randint(0, len(anime_picture) - 1) get_role = utils.resource_get("/guilds/{}".format(server_id)) guild_roles = get_role['roles'] role = db.smembers('{}:Memes:editor_role'.format(server_id)) or [] channel = utils.get_channel(server_id) admin_role = list( filter(lambda r: r['name'] in role or r['id'] in role, guild_roles)) return { "Info": anime_picture[number], "guild_roles": guild_roles, "admin_roles": admin_role, "channel": channel }
def dashboard(server_id): log.info("Level dashboard") key_path = '{}:Level:Config'.format(server_id) initial_announcement = '{player}, you just advanced to **level {level}** !\n Now go and fight more mobs!' announcement = db.hget(key_path,"announce_message") if announcement is None: db.hset(key_path,"announce_message", initial_announcement) db.hset(key_path.format(server_id),"announce",'on') cooldown = db.hget(key_path.format(server_id),"rank_cooldown") or 0 config = db.hgetall(key_path) #getting database of members db_banned_members = db.smembers('{}:Level:banned_members'.format(server_id)) or [] db_banned_roles = db.smembers('{}:Level:banned_roles'.format(server_id)) or [] db_banned_channels = db.smembers('{}:Level:banned_channels'.format(server_id)) or [] #checking roles get_role = utils.resource_get("/guilds/{}".format(server_id)) guild_roles = get_role['roles'] #get member info get_member = utils.resource_get("/guilds/{}/members?&limit=1000".format(server_id)) guild_members=[x['user'] for x in get_member] #getting channel guild_channels = utils.get_channel(server_id) #ban role and members banned_roles = list(filter(lambda r: r['id'] in db_banned_roles,guild_roles)) banned_members = list(filter(lambda r:r['id'] in db_banned_members,guild_members)) banned_channels = list(filter(lambda r:r['id'] in db_banned_channels,guild_channels)) log.info("Done getting list of banned, now getting rewards roles") #reward roles role_level = db.hgetall("{}:Level:role_reward".format(server_id)) or {} temp = [ {"name":x['name'], "id":x['id'], "color":hex(x["color"]).split("0x")[1], "level":role_level.get(x["id"],0)} for x in guild_roles] temp.sort(key=lambda x: x['name']) reward_roles = [temp[:int(len(temp)/2)],temp[int(len(temp)/2):]] #Spliting them into half return { 'config':config, 'banned_members': banned_members, 'guild_members':guild_members, 'banned_roles': banned_roles, 'guild_roles':guild_roles, 'banned_channels':banned_channels, 'guild_channels':guild_channels, 'cooldown': cooldown, "reward_roles":reward_roles, }
def dashboard(server_id): log.info("Discourse") config = db.hgetall("{}:Discourse:Config".format(server_id)) channel = utils.get_channel(server_id) if config.get("channel", False) is False: discourse_channel = server_id else: discourse_channel = config['channel'] if config.get("msg",False) is False: msg = "{title}\t\tAuthor: {author}\n{link}" else: msg = config["msg"] return { 'guild_channel': channel, "discourse_channel": discourse_channel, "msg_template":str(msg.encode()).replace("\\\\","\\"), 'config': config }
def dashboard(server_id): log.info("Discourse") config = db.hgetall("{}:Discourse:Config".format(server_id)) channel = utils.get_channel(server_id) if config.get("channel", False) is False: discourse_channel = server_id else: discourse_channel = config['channel'] if config.get("msg",False) is False: msg = "{title}\t\tAuthor: {author}\n{link}" else: msg = config["msg"] return { 'guild_channel': channel, "discourse_channel": discourse_channel, "msg_template":str(msg.encode()).replace("\\\\","\\"), 'config': config }
async def run(self, client): now = datetime.now() if now.hour == 8 and now.minute == 30: msg = "It's school time!" elif now.hour == 9 and now.minute == 40: msg = "It's period two!" elif now.hour == 10 and now.minute == 56: msg = "It's time for lunch!" if now.hour == 12 and now.minute == 15: msg = "It's high noon!(period 3)" elif now.hour == 13 and now.minute == 27: msg = "It's past high noon!(period 4)" elif now.hour == 15: msg = "It's home time" else: msg = f"It is {now.hour}:{now.minute}" channel = get_channel(client, "general") await client.send_message(channel, msg)
def replace_id(match): if match.group(1) == '#': return '#{}'.format(get_channel(team, match.group(2))) else: return translate_user(team, site, match.group(2))
def process_command(self, text): message = text.message.strip() message_parse = message[1:].split(' ', 1) all_messages = message[1:].split() command = message_parse[0] if command == "echo": if not pv.plugin_privilege_checker(text, command, self.priv_path): return parameter = message_parse[1] GM.gui.quick_gui(parameter, text_type='header', box_align='left', ignore_whisper=True) GM.logger.info(f"Echo:[{parameter}]") return elif command == "log": if not pv.plugin_privilege_checker(text, command, self.priv_path): return debug_print(f"Manually Logged: [{message_parse[1]}]") GM.logger.info(f"Manually Logged: [{message_parse[1]}]") return elif command == "spam_test": if not pv.plugin_privilege_checker(text, command, self.priv_path): return for i in range(10): GM.gui.quick_gui("This is a spam test message...", text_type='header', box_align='left', ignore_whisper=True) GM.logger.info( f"A spam_test was conducted by: {GM.mumble.users[text.actor]['name']}." ) return elif command == "msg": if not pv.plugin_privilege_checker(text, command, self.priv_path): return GM.gui.quick_gui(message[1:].split(' ', 2)[2], text_type='header', box_align='left', user=all_messages[1], ignore_whisper=True) GM.logger.info( f"Msg:[{all_messages[1]}]->[{message[1:].split(' ', 2)[2]}]") return elif command == "move": if not pv.plugin_privilege_checker(text, command, self.priv_path): return parameter = message_parse[1] channel_name = parameter if channel_name == "default" or channel_name == "Default": channel_name = utils.get_default_channel() channel_search = utils.get_channel(channel_name) if channel_search is None: return else: channel_search.move_in() GM.gui.quick_gui( f"{utils.get_bot_name()} was moved by {GM.mumble.users[text.actor]['name']}", text_type='header', box_align='left', ignore_whisper=True) GM.logger.info( f"Moved to channel: {channel_name} by {GM.mumble.users[text.actor]['name']}" ) return elif command == "make": if not pv.plugin_privilege_checker(text, command, self.priv_path): return parameter = message_parse[1] channel_name = parameter utils.make_channel(utils.get_my_channel(), channel_name) GM.logger.info( f"Made a channel: {channel_name} by {GM.mumble.users[text.actor]['name']}" ) return elif command == "leave": if not pv.plugin_privilege_checker(text, command, self.priv_path): return utils.leave() GM.logger.info("Returned to default channel.") return elif command == "joinme": if not pv.plugin_privilege_checker(text, command, self.priv_path): return GM.gui.quick_gui( f"Joining user: {GM.mumble.users[text.actor]['name']}", text_type='header', box_align='left', ignore_whisper=True) GM.mumble.channels[GM.mumble.users[text.actor] ['channel_id']].move_in() GM.logger.info( f"Joined user: {GM.mumble.users[text.actor]['name']}") return elif command == "privileges": if not pv.plugin_privilege_checker(text, command, self.priv_path): return GM.gui.quick_gui(f"{pv.get_all_privileges()}", text_type='header', box_align='left', text_align='left', user=GM.mumble.users[text.actor]['name'], ignore_whisper=True) return elif command == "setprivileges": if not pv.plugin_privilege_checker(text, command, self.priv_path): return try: username = all_messages[1] level = int(all_messages[2]) result = pv.set_privileges(username, level, GM.mumble.users[text.actor]) if result: GM.gui.quick_gui( f"User: {username} privileges have been modified.", text_type='header', box_align='left', user=GM.mumble.users[text.actor]['name'], ignore_whisper=True) GM.logger.info(f"Modified user privileges for: {username}") except Exception: reg_print( "Incorrect format! Format: !setprivileges 'username' 'level'" ) GM.gui.quick_gui( "Incorrect format! Format: !setprivileges 'username' 'level'", text_type='header', box_align='left', user=GM.mumble.users[text.actor]['name'], ignore_whisper=True) return return elif command == "addprivileges": if not pv.plugin_privilege_checker(text, command, self.priv_path): return try: username = all_messages[1] level = int(all_messages[2]) result = pv.add_to_privileges(username, level) if result: GM.gui.quick_gui( f"Added a new user: {username} to the user privileges.", text_type='header', box_align='left', user=GM.mumble.users[text.actor]['name'], ignore_whisper=True) GM.logger.info( f"Added a new user: {username} to the user privileges." ) except Exception: reg_print( "Incorrect format! Format: !addprivileges 'username' 'level'" ) GM.gui.quick_gui( "Incorrect format! Format: !addprivileges 'username' 'level'", text_type='header', box_align='left', user=GM.mumble.users[text.actor]['name'], ignore_whisper=True) return return elif command == "blacklist": if not pv.plugin_privilege_checker(text, command, self.priv_path): return try: parameter = all_messages[1] reason = "No reason provided." print(len(message[1:].split())) if len(message[1:].split()) >= 3: reason = message[1:].split(' ', 2)[2] result = pv.add_to_blacklist(parameter, GM.mumble.users[text.actor]) if result: GM.gui.quick_gui( f"User: {parameter} added to the blacklist.<br>Reason: {reason}", text_type='header', box_align='left', text_align='left') GM.logger.info( f"Blacklisted user: {parameter} <br>Reason: {reason}") except IndexError: GM.gui.quick_gui(pv.get_blacklist(), text_type='header', box_align='left', text_align='left') return elif command == "whitelist": if not pv.plugin_privilege_checker(text, command, self.priv_path): return try: parameter = message_parse[1] result = pv.remove_from_blacklist(parameter) if result: GM.gui.quick_gui( f"User: {parameter} removed from the blacklist.", text_type='header', box_align='left') GM.logger.info( f"User: {parameter} removed from the blacklist.") except IndexError: GM.gui.quick_gui("Command format: !whitelist username", text_type='header', box_align='left') return return
def get_channel(): targetLang = request.args.get('targetLang', '') nativeLang = request.args.get('nativeLang', '') channel = utils.get_channel(targetLang, nativeLang) return jsonify(channel)
data_dim, data = utils.read_uplink_data(filepath) zero_subcarrier_indices, transmit_data_dim, x_ = utils.convert_transmit_dimensions_single( filepath, frame_size) x_train = x_[:train_size] x_val = x_[train_size:train_size + val_size] x_test = x_[train_size + val_size:] y_dim, y_ = utils.reduce_data_single(data, zero_subcarrier_indices) y_train = y_[:train_size] y_val = y_[train_size:train_size + val_size] y_test = y_[train_size + val_size:] csi_dim, csi = utils.get_channel(filepath) channel_dim, channel, H_R, H_I = utils.convert_channel_dimensions_single(csi) H_R_train = H_R[:train_size] H_R_val = H_R[train_size:train_size + val_size] H_R_test = H_R[train_size + val_size:] H_I_train = H_I[:train_size] H_I_val = H_I[train_size:train_size + val_size] H_I_test = H_I[train_size + val_size:] HY = tf.placeholder(tf.float32, shape=[None, 2 * K]) X = tf.placeholder(tf.float32, shape=[None, 2 * K]) HH = tf.placeholder(tf.float32, shape=[None, 2 * K, 2 * K]) X_IND = tf.placeholder(tf.float32, shape=[None, K, 4]) batch_size = tf.shape(HY)[0] x_real = X[:, 0:K]
def category(server_id): log.info("Category page require for discourse") config = db.hgetall("{}:Discourse:Config".format(server_id)) domain = config["domain"] default = config["channel"] api_key = config["api_key"] username = config["username"] channel = db.hgetall("{}:Discourse:Category".format(server_id)) log.info("The channel is {}".format(channel)) if domain is None: log.info("Missing domain, assume user didn't do set up") flash("You haven't finish config, please enter info in and click update!") return dashboard(server_id = server_id) elif channel is None: log.info("Channel is None") flash("There is something wrong with channel, please try set it again") return dashboard(server_id = server_id) #Getting guild channel list guild_channel = utils.get_channel(server_id) guild_channel = sorted(guild_channel,key = lambda k:k["name"]) log.info(guild_channel) default = [x["name"] for x in guild_channel if x["id"] == default][0] log.info("default show {}".format(default)) #Getting info about server, id, name and icon of it to display it. server = { 'id':server_id, 'name':db.hget("Info:Server",server_id), 'icon':db.hget("Info:Server_Icon",server_id)} #making requests to discourse site within API to get category info so we can send topics to certain channel chosen by user. raw_data = discourse(domain,api_key,username,"site.json") if raw_data is None: flash("There is problem with accessing to site...","warning") return dashboard(server_id) raw_data = raw_data["categories"] data = [] sub_temp = {} for x in raw_data: #checking subcategory and category category_id = x['id'] have_sub = x.get("parent_category_id") if have_sub: #if it have sub, we should append to them sub = sub_temp.get(have_sub) if sub: sub.append({"id":str(category_id),"name":x["name"],"sub":"true"}) else: sub_temp.update({have_sub:[{"id":str(category_id),"name":x["name"],"sub":"true"}]}) continue data.append({"id":str(category_id),"name":x["name"],"sub":"false"}) #getting proper fresh data after getting all sub categorys, it is doing in order. fresh_data = [] for x in data: fresh_data.append(x) sub = sub_temp.get(int(x["id"])) if sub: for x in sub: fresh_data.append(x) log.debug(fresh_data) return render_template("category.html",default_channel = default,category = fresh_data,guild_channel = guild_channel,cate_channel=channel,server=server)
from utils import get_channel print(get_channel())