예제 #1
0
def get_roles(guild_id, limit_to_joinable=True):
    cnx.commit()
    if limit_to_joinable:
        query = "SELECT * FROM `gssp`.`roles` WHERE `guild_id` = %s AND `is_joinable` = 1"
    else:
        query = "SELECT * FROM `gssp`.`roles` WHERE `guild_id` = %s"
    query = "{query} ORDER BY role_name".format(query=query)
    cursor.execute(query, (guild_id, ))
    return cursor.fetchall()
예제 #2
0
def get_role(guild_id, role_name):
    cnx.commit()
    query = "SELECT * FROM `gssp`.`roles` WHERE `role_name` = %s AND `guild_id` = %s"
    cursor.execute(query, (role_name, guild_id))
    members = []
    try:
        a = cursor.fetchall()[0]
        members += json.loads(a['role_assignees'])
    except IndexError:
        return None
    a['members'] = members
    return a
 async def get_message_count(self, user_id=None):
     """
     Get number of messages sent
     You can specify user_id to get messages from only one user
     """
     if user_id is None:
         query = "SELECT COUNT(*) as message_count FROM messages_detailed"
         cursor_dict.execute(query)
     else:
         query = "SELECT COUNT(*) as message_count FROM messages_detailed WHERE user_id = %s"
         cursor_dict.execute(query, (user_id, ))
     res = cursor_dict.fetchall()[0]
     return int(res['message_count'])
예제 #4
0
    async def output_toggle_public_ping(self, ctx):
        user_settings = get_user(ctx.author.id)

        if user_settings['ping_public'] == 1:
            query = "UPDATE `gssp`.`ping_settings` SET `ping_public`='0' WHERE `user_id`='%s';"
            return_msg = "You will now be pinged over DM"
        else:
            query = "UPDATE `gssp`.`ping_settings` SET `ping_public`='1' WHERE `user_id`='%s';"
            return_msg = "You will now be pinged publicly"

        cursor.execute(query, (ctx.author.id, ))
        cnx.commit()
        await ctx.channel.send(embed=discord.Embed(
            title="Success", description=return_msg, color=green))
예제 #5
0
 def save_members(self):
     members_j = json.dumps(self.members)
     cursor_dict.execute(update_query, (members_j, self.role_id))
     cnx.commit()
예제 #6
0
def get_user(user_id):
    cnx.commit()  # we run this just to make sure we have nothing pending
    query = "SELECT * FROM gssp.ping_settings WHERE user_id = %s"
    cursor.execute(query, (user_id, ))
    return cursor.fetchone()