Example #1
0
async def Backup(message):

    args = comms.ParseArguments(message.content)

    table = args["t"].split('"')[1]
    backup = GetBackup(table)

    if (backup == None):
        await message.channel.send("Tabela inexistente")
    else:
        await message.channel.send(f"Backup da tabela {table}",
                                   file=File(backup))
Example #2
0
async def SetWelcome(message):

    args = comms.ParseArguments(message.content)

    text = args["t"].split('"')[1]
    text = text.replace("¬", "-")

    db.custom_insert(f"""UPDATE ServerConfigs SET
    welcome_channel={message.channel.id},
    welcome_message='{text}'
    WHERE id = {message.guild.id}
     """)

    await message.channel.send(
        f"""A partir de agora este é o canal de recepção,com a seguinte mensagem: `{text}`"""
    )
Example #3
0
async def SetAutorole(message):

    args = comms.ParseArguments(message.content)

    role_id = int(args["r"])
    role = message.guild.get_role(role_id)

    if (role == None):
        await message.channel.send("ID inválido")
        return

    role_id = int(args["r"])

    db.custom_insert(f"""UPDATE ServerConfigs SET
            role = {role_id}
            WHERE id = {message.guild.id}
            """)

    await message.channel.send(
        f"A partir de agora todos os novos membros receberão o cargo {role.name}"
    )
Example #4
0
async def UpdateMessages(message):

    args = comms.ParseArguments(message.content)

    date = datetime.strptime(args["d"], '%d/%m/%Y').date()

    if (date) > datetime.now().date():
        await message.channel.send(
            "Não é possível definir a quantidade de mensagens do futuro")
        return
    if (int(args["a"]) < 0):
        await message.channel.send(
            "Não é possível definir a quantidade de mensagens como negativa")
        return

    db.insert_value(
        "Messages", [message.guild.id, date, args['a']],
        additional=f"ON CONFLICT(Date,Server) DO UPDATE SET Num = {args['a']}")

    await message.channel.send(
        f"O número de mensagens do dia {args['d']} foi atualizado com sucesso para {args['a']}"
    )
Example #5
0
async def getRankByWeek(message, client):

    args = comms.ParseArguments(message.content)

    d_ago = 0
    points = "messages"
    if args != None:
        if ("c" in args.keys()):
            points = "chars"
        if ("b" in args.keys()):
            d_ago = int(args["b"])
            if (d_ago) < 0:
                await message.channel.send("Não há registros do futuro")
                return

    date = datetime.now().date()
    date -= timedelta(days=date.weekday() + (d_ago * 7))

    data = db.custom_retrieve(f""" SELECT user_id,{points}
            FROM Rank WHERE date = '{date}' AND server_id = {message.guild.id}  
            ORDER BY {points} DESC LIMIT 20""")

    if len(data) == 0:
        await message.channel.send(
            f"Não há registro do ranking de {d_ago} semanas atrás")
        return

    if (points == "messages"):
        points = "mensagens"
    elif (points == "chars"):
        points = "caracteres"

    table = GenTableRank(data, message.guild, client)
    embed = utils.genEmbed(
        "Ranking",
        table,
        descp=f"Ranking de membros por {points} \nenviadas na semana")
    await message.channel.send(embed=embed, content=None)