async def get_main_channel(ctx) -> discord.TextChannel: try: guild = ctx.guild except AttributeError: guild = ctx cur_main.execute("SELECT MESSAGE_CHANNEL_ID FROM CONFIG WHERE GUILD_ID=%s", (guild.id, )) channel_db = cur_main.fetchone() overwrites_main = { guild.default_role: discord.PermissionOverwrite(read_messages=True, read_message_history=True, send_messages=False) } if channel_db: channel = discord.utils.get(guild.channels, id=int(channel_db[0])) if not channel: main_channel = await guild.create_text_channel( name="zemo bot", overwrites=overwrites_main) change_msg_welcome_channel(guild.id, main_channel.id, main_channel.id) return main_channel else: return channel else: main_channel = await guild.create_text_channel( name="zemo bot", overwrites=overwrites_main) change_msg_welcome_channel(guild.id, main_channel.id, main_channel.id) return main_channel
def get_prefix(guild_id: int) -> int: sql = "SELECT PREFIX FROM CONFIG WHERE GUILD_ID=%s" val = (guild_id, ) cur_main.execute(sql, val) data = cur_main.fetchone() return data[0] if data else 0
def check_command_status_for_guild(guild_id: int, command: str): sql = "SELECT ID FROM COMMANDS WHERE COMMAND=%s" val = (command, ) cur_main.execute(sql, val) data = cur_main.fetchone() if data and data[0]: sql_ = "SELECT * FROM DISABLED_COMMANDS WHERE COMMAND_ID=%s AND SERVER_ID=(SELECT ID FROM CONFIG WHERE GUILD_ID=%s)" val_ = (command, guild_id) cur_main.execute(sql_, val_) data_ = cur_main.fetchone() return not data_ else: return False
def get_welcome_message(guild_id: int) -> str: sql = "SELECT WELCOME_MESSAGE FROM CONFIG WHERE GUILD_ID=%s" val = (guild_id, ) cur_main.execute(sql, val) data = cur_main.fetchone() return data[0] if data and data[0] and data[0] else ""
def get_welcome_role_id(guild_id: int) -> int: sql = "SELECT WELCOME_ROLE_ID FROM CONFIG WHERE GUILD_ID=%s" val = (str(guild_id), ) cur_main.execute(sql, val) data = cur_main.fetchone() return data[0] if data else 0
def disable_command(guild_id: int, command: str): cur_main.execute("SELECT ID FROM COMMANDS WHERE COMMAND=%s", (command, )) command_in_db = cur_main.fetchone() if command_in_db: sql = "INSERT INTO DISABLED_COMMANDS (SERVER_ID, COMMAND_ID) VALUES ((SELECT ID FROM CONFIG WHERE GUILD_ID=%s), %s)" val = (guild_id, command_in_db[0]) cur_main.execute(sql, val) conn_main.commit()
def get_welcome_role(guild: discord.guild): sql = "SELECT WELCOME_ROLE_ID FROM CONFIG WHERE GUILD_ID=%s" val = (guild.id, ) cur_main.execute(sql, val) data = cur_main.fetchone() role = "" if data and data[0]: role = discord.utils.get(guild.roles, id=int(data[0])) return role if role else 0
def get_all_disabled_commands_from_guild(guild_id: int) -> list: cur_main.execute( "SELECT COMMAND_ID FROM DISABLED_COMMANDS WHERE SERVER_ID=(SELECT ID FROM CONFIG WHERE GUILD_ID=%s)", (guild_id, )) command_ids = cur_main.fetchall() data = [] for command_id in command_ids: cur_main.execute("SELECT COMMAND FROM COMMANDS WHERE ID=%s", command_id) data.append(cur_main.fetchone()[0]) return data
def get_all_guild_commands_and_category(guild_id: int): cur_main.execute( "SELECT CATEGORY_ID, COMMAND FROM COMMANDS WHERE ID NOT IN (SELECT COMMAND_ID FROM DISABLED_COMMANDS WHERE SERVER_ID=(SELECT ID FROM CONFIG WHERE GUILD_ID=%s))", (guild_id, )) commands = { command: category for (category, command) in cur_main.fetchall() } for command in commands: cur_main.execute("SELECT CATEGORY FROM COMMAND_CATEGORIES WHERE ID=%s", (commands[command], )) commands[command] = cur_main.fetchone()[0] return commands
def get_categories_with_command_count(): cur_main.execute("SELECT CATEGORY_ID, COMMAND FROM COMMANDS;") data = cur_main.fetchall() dict_data = {} for entry in data: cur_main.execute( "SELECT CATEGORY FROM COMMAND_CATEGORIES WHERE ID=%s;", (entry[0], )) category = cur_main.fetchone() if category[0] + "_category" not in dict_data: dict_data[category[0] + "_category"] = 1 else: dict_data[category[0] + "_category"] = dict_data[category[0] + "_category"] + 1 cur_main.execute("SELECT COMMAND FROM ADMIN_COMMANDS;") dict_data["admin_commands"] = len(cur_main.fetchall()) return dict_data
def get_xp_from_user(guild_id: int, user_id: int) -> int: cur_main.execute("SELECT SUM(XP) FROM LEVEL WHERE SERVER_ID=(SELECT ID FROM CONFIG WHERE GUILD_ID=%s) AND USER_ID=%s", (guild_id, user_id)) data = cur_main.fetchone() return data[0] if data and data[0] else 0
def get_twitch_username(guild_id: int) -> str: cur_main.execute('SELECT TWITCH_USERNAME FROM CONFIG WHERE GUILD_ID = %s', (guild_id, )) data = cur_main.fetchone() return data[0] if data and data[0] else ""
def get_server(guild_id: int) -> bool: cur_main.execute('SELECT ACTIVE FROM CONFIG WHERE GUILD_ID = %s', (guild_id, )) data = cur_main.fetchone() return bool(data)
def get_user_voice_time(user_id: int) -> int: cur_main.execute("SELECT SUM(MINUTES) from VOICE WHERE USER_ID=%s", (user_id, )) data = cur_main.fetchone() return data[0] if data and data[0] else 0