コード例 #1
0
ファイル: bot.py プロジェクト: jp-amaral/bot-discord
async def hello(ctx):
    storeXP(ctx.author.id, 1, ctx)
    try:
        member = ctx.message.mentions[0]
        await ctx.send(f'Olá, {member.mention}  :nerd:')
    except:
        await ctx.send(f'Olá, {ctx.author.mention}  :nerd:')
コード例 #2
0
ファイル: bot.py プロジェクト: jp-amaral/bot-discord
async def poll(ctx, *, params=None):
    # array de 10 opções -> listemojiAJ
    if (params == None):
        return await ctx.send(
            f"```Usar {prefix}poll pergunta, opção1, opção2, (...), opção10```"
        )
    else:
        opts = params.split(',')
        if (len(opts) < 3 or len(opts) > 10):
            return await ctx.send(
                "```Introduz a pergunta e 2 a 10 opções separados por virgulas```"
            )
        embed = discord.Embed(title=f"{opts[0]}", color=discord.Colour.teal())
        embed.set_footer(icon_url=ctx.author.avatar_url,
                         text=f"Request by {ctx.author.name}")
        for val in range(len(opts)):
            if (val == len(opts) - 1):
                break
            embed.add_field(name='\u200b',
                            value=listemojiAJ[val] + " : " + f"{opts[val+1]}",
                            inline=False)
        embed.add_field(name='\u200b', value='\u200b', inline=False)
        msg = await ctx.send(embed=embed)
        storeXP(ctx.author.id, 2, ctx)
        for i in range(len(opts) - 1):
            await msg.add_reaction(listemojiAJ[i])
        return
コード例 #3
0
ファイル: bot.py プロジェクト: jp-amaral/bot-discord
async def dice(ctx):
    def is_correct(m):
        return m.author == ctx.author

    answer = ran.randint(1, 6)
    try:
        await ctx.send(
            f"{ctx.author.mention} chuta um numero de 1 a 6 e vê se adivinhas")
        guess = await client.wait_for('message',
                                      check=is_correct,
                                      timeout=10.0)
    except asyncio.TimeoutError:
        return await ctx.send("Ès buèDA LENto ya")

    if (guess.content.isdigit()):
        if (int(guess.content) == answer):
            xp = 50
            storeXP(str(ctx.author.id), xp, ctx)
            frase = randomline(".txt/msgsPositivas.txt")
            return await ctx.send(f"{frase}, GANHASTE `{xp}XP` ")
        else:
            frase = randomline(".txt/msgsNegativas.txt")
            return await ctx.send(frase +
                                  f"O número era o `{answer}` seu burro")
    else:
        return await ctx.send(f"{ctx.author.mention} isso não é um numero nabo"
                              )
コード例 #4
0
ファイル: bot.py プロジェクト: jp-amaral/bot-discord
async def coin(ctx):
    storeXP(ctx.author.id, 1, ctx)
    smile = '\N{SLIGHTLY SMILING FACE}'
    coroa = '\N{CROWN}'
    choice = ran.randint(1, 2)
    if (choice == 1):
        return await ctx.message.add_reaction(smile)
    else:
        return await ctx.message.add_reaction(coroa)
コード例 #5
0
ファイル: bot.py プロジェクト: jp-amaral/bot-discord
async def profile(ctx):
    try:
        member = ctx.message.mentions[0]
        embed = discord.Embed(title=member.name,
                              description=member.mention,
                              color=discord.Colour.red())
        embed.add_field(name="Name", value=member.name, inline=True)
        embed.add_field(name="TopRole", value=member.top_role, inline=True)
        embed.set_thumbnail(url=member.avatar_url)
        embed.set_footer(icon_url=ctx.author.avatar_url,
                         text=f"Request by {ctx.author.name}")
        await ctx.send(embed=embed)
        storeXP(ctx.author.id, 1, ctx)
    except:
        msg = "Introduz um mention valido | usar : " + prefix + "profile @user"
        return await ctx.send(msg)
コード例 #6
0
ファイル: bot.py プロジェクト: jp-amaral/bot-discord
async def creditos(ctx):
    storeXP(ctx.author.id, 1, ctx)
    embed = discord.Embed(title="Créditos",
                          description="Cérebros por trás do BOTMOCS",
                          color=discord.Colour.red())
    embed.set_thumbnail(
        url=
        "https://cdn.jornaldebrasilia.com.br/wp-content/uploads/2019/07/cerebro-1000x600.jpg"
    )
    embed.add_field(name="Programadores: ", value='\u200b', inline=True)
    embed.add_field(name="João Amaral",
                    value='<@366292034669248514>',
                    inline=True)
    embed.add_field(name="Bruno Lemos",
                    value='<@431857111018897409>',
                    inline=True)
    embed.add_field(name="Agradecimentos: ", value='\u200b', inline=True)
    embed.add_field(name="Pedro Rocha",
                    value='<@539520976577363981>',
                    inline=True)
    embed.add_field(name="André Clérigo",
                    value='<@239323719300939776>',
                    inline=True)
    await ctx.send(embed=embed)
コード例 #7
0
ファイル: bot.py プロジェクト: jp-amaral/bot-discord
async def conselho(ctx):
    storeXP(ctx.author.id, 1, ctx)
    frase = randomline(".txt/messages.txt")
    return await ctx.send(frase)
コード例 #8
0
ファイル: bot.py プロジェクト: jp-amaral/bot-discord
async def galo(ctx):
    if (listgalo.count(ctx.author) > 0):
        return await ctx.send(
            "Já estás no meio de um jogo, acaba o jogo ou desiste")
    player1 = ctx.author
    if (ctx.message.content.lower() == (prefix + "galo")):  #sem tagar ninguem
        msg = await ctx.send(f"Quem quer jogar ao galo com {player1.mention}")

        def checkReaction(reaction, player2):
            if (player2 == msg.author):
                return False
            return str(reaction.emoji) == '\N{white heavy check mark}'

        try:
            certo = '\N{white heavy check mark}'
            await msg.add_reaction(certo)
            reaction, player2 = await client.wait_for('reaction_add',
                                                      check=checkReaction,
                                                      timeout=10.0)
        except asyncio.TimeoutError:
            return await ctx.send(
                "Jogo do Galo: Demorou muito tempo a aceitar o pedido de jogo")
        else:  #funcionou
            if (player1 == player2):
                await ctx.send(
                    "Jogo do Galo : não podes jogar contigo mesmo lul")
                return

    elif ctx.message.mentions:  # com tag

        player2 = ctx.message.mentions[0]
        if player1 == player2:
            await ctx.send(
                "BARRAQUEIRO da treta nao te deixo jogar contigo proprio")
            return
        msg = await ctx.send(
            f'Aceitar jogo do galo entre o grande {player1.mention} e grande noob {player2.mention}'
        )

        def checkReaction(reaction, reactor):
            if (player2 == msg.author):
                return False
            return str(
                reaction.emoji
            ) == '\N{white heavy check mark}' and reactor == player2 and player1 != reactor

        try:
            certo = '\N{white heavy check mark}'
            await msg.add_reaction(certo)
            reaction, player2 = await client.wait_for('reaction_add',
                                                      check=checkReaction,
                                                      timeout=10.0)
        except asyncio.TimeoutError:
            return await ctx.send("Ninguém quer jogar contigo zeca :(")
    else:
        msg = "usar: " + prefix + "galo @mention  ou apenas " + prefix + "galo"  # errado
        return await ctx.send(
            f"usar: {prefix}galo @mention  ou apenas {prefix}galo")

    ############----COMEÇA A JOGAR O JOGO DO GALO ----############
    if (listgalo.count(player2) > 0):
        return await ctx.send(
            f"{player2.mention} já estás no meio de um jogo, acaba o jogo ou desiste [{prefix}desisto]"
        )
    listgalo.append(player1)
    listgalo.append(player2)
    await ctx.send(f"JOGO DO GALO : {player1.mention} vs {player2.mention}")
    await ctx.send(f"```Para desistir usar o comando {prefix}desisto```")
    simbplayer1 = "🟢"
    simbplayer2 = "❌"
    array = init_galo()

    await print_galo(array, player1.mention, ctx)
    current_player = player1
    numjogadas = 0

    def jogadorCerto(m):
        return m.author == current_player

    while True:
        if (check_end_galo(array, numjogadas) == -1
                and ctx.author.id != 816787135825838090):  # continue
            play = await client.wait_for('message', check=jogadorCerto)
            if (play.content != (prefix + "desisto")):
                try:
                    jogada = int(play.content) - 1
                    if jogada > 8 or jogada < 0 or (not check_empty_pos_galo(
                            array, jogada)):
                        await ctx.send("Jogada inválida!")
                        await print_galo(array, current_player.mention, ctx)
                    else:
                        x = int(jogada / 3)
                        y = int(jogada % 3)
                        if current_player == player1:
                            array[x][y] = simbplayer1
                            current_player = player2
                        elif current_player == player2:
                            array[x][y] = simbplayer2
                            current_player = player1
                        else:
                            print("Jogador Inválido")
                        numjogadas = numjogadas + 1
                        await print_galo(array, current_player.mention, ctx)
                except ValueError:
                    if (play.content != (prefix + "galo")):
                        await ctx.send(
                            "Jogada inválida, introduzir numeros de 1 a 9")
                    await print_galo(array, current_player.mention, ctx)
            else:
                listgalo.remove(player1)
                listgalo.remove(player2)
                if (current_player == player1):
                    storeXP(str(player2.id), 50, ctx)
                    return await ctx.send(
                        f"Vencedor {player2.mention}, " +
                        randomline(".txt/msgsPositivas.txt").lower())
                elif (current_player == player2):
                    storeXP(str(player1.id), 50, ctx)
                    return await ctx.send(
                        f"Vencedor {player1.mention}, " +
                        randomline(".txt/msgsPositivas.txt").lower())
        elif (check_end_galo(array, numjogadas) == 1):
            listgalo.remove(player1)
            listgalo.remove(player2)
            storeXP(str(player2.id), 5, ctx)
            storeXP(str(player1.id), 50, ctx)
            return await ctx.send(f"Vencedor {player1.mention}, " +
                                  randomline(".txt/msgsPositivas.txt").lower())
        elif (check_end_galo(array, numjogadas) == 2):
            listgalo.remove(player1)
            listgalo.remove(player2)
            storeXP(str(player1.id), 5, ctx)
            storeXP(str(player2.id), 50, ctx)
            return await ctx.send(f"Vencedor {player2.mention}, " +
                                  randomline(".txt/msgsPositivas.txt").lower())
        elif (check_end_galo(array, numjogadas) == 0):
            listgalo.remove(player1)
            listgalo.remove(player2)
            storeXP(str(player1.id), 15, ctx)
            storeXP(str(player2.id), 15, ctx)
            return await ctx.send(
                f"Empate entre {player1.mention} e {player2.mention}, Tentem de novo!!!"
            )
コード例 #9
0
ファイル: bot.py プロジェクト: jp-amaral/bot-discord
async def guita(ctx):
    storeXP(ctx.author.id, 1, ctx)
    url = randomline(".txt/guitz.txt")
    return await p(ctx=ctx, query=url)
コード例 #10
0
ファイル: bot.py プロジェクト: jp-amaral/bot-discord
async def random(ctx):
    storeXP(ctx.author.id, 2, ctx)
    url = randomline(".txt/noises.txt")
    return await p(ctx=ctx, query=url)
コード例 #11
0
ファイル: bot.py プロジェクト: jp-amaral/bot-discord
async def forca(ctx):
    msg = await ctx.send(
        "Quem quiser jogar a forca MOCADA reaja aí CHÉ yA em 7 segundos")
    await msg.add_reaction('✔️')
    channel = ctx.channel
    await sleep(7.0)
    message = await channel.fetch_message(msg.id)
    users = []
    users.append(ctx.author)
    for reaction in message.reactions:
        async for user in reaction.users():
            users.append(user)
    palavra, msg = await init_forca(ctx)
    if (not palavra):
        palavra = "prancha"
    #print(palavra)
    def checkJogador(m):
        return m.author in users

    await ctx.send("CHE MALTA Voces tem 10 tentativas, gud luck :P")
    tentativas = 10
    usadas = []
    while True:
        if (not "❓" in msg):
            for user in users:
                if (user.id != 816787135825838090):
                    xp = 10 * int(tentativas / 2)
                    storeXP(str(user.id), xp, ctx)
            return await ctx.send("`WINNER DINNER DA CHICKEN: " +
                                  randomline(".txt/msgsPositivas.txt") + "`")
        elif (tentativas == 0):
            return await ctx.send(
                f"NABOS. ja não há mais tentativas! A palavra era `{palavra}`")
        else:
            play = await client.wait_for('message', check=checkJogador)
            if (play.content == prefix + "desisto"):
                return await ctx.send("`Desistiram do jogo a palavra era -> " +
                                      palavra + "`")
            if (play.content.lower().strip() == palavra.lower().rstrip()):
                xp = 12 * tentativas - 5
                storeXP(str(play.author.id), xp, ctx)
                for user in users:
                    if (user.id != 816787135825838090):
                        storeXP(str(user.id), 8, ctx)
                await ctx.send("```" + palavra + "```")
                await ctx.send(f"FOda-sE este gajo é um MESTRE CONGRATS")
                return await ctx.send(f"`Ganhaste{xp}XP !!`")
            if (len(play.content) != 1):
                tentativas -= 1
                await ctx.send(
                    f"`Utiliza apenas uma letra BARRAQUERo, já so tens mais {tentativas} disponíveis`"
                )
            else:
                pos = [
                    idx for idx, item in enumerate(palavra.lower())
                    if play.content.lower() in item
                ]
                msgList = list(msg)
                if pos:
                    if (play.content.lower() in usadas):
                        await ctx.send(
                            f"`Letra já usada: Tens {tentativas} tentativas disponiveis`"
                        )
                    else:
                        usadas.append(play.content.lower())
                    for p in pos:
                        msgList[p] = play.content.lower()
                    msg = "".join(msgList)
                    await ctx.send(msg)
                    text = ""
                    k = 0
                    for letra in usadas:
                        if (k == 0):
                            text += letra.lower()
                            k += 1
                        else:
                            text += ", " + letra
                    await ctx.send(f"Letras usadas: {text}")
                else:
                    if (play.content.lower() in usadas):
                        await ctx.send(
                            f"`Letra já usada: Tens {tentativas} tentativas disponiveis`"
                        )
                    else:
                        usadas.append(play.content)
                        tentativas -= 1
                        await ctx.send(
                            f"`Errado nabo, so há mais {tentativas} tentativas disponiveis`"
                        )
                    pos = [
                        idx for idx, item in enumerate(palavra.lower())
                        if play.content.lower() in item
                    ]
                    msgList = list(msg)
                    if pos:
                        for p in pos:
                            msgList[p] = play.content
                    msg = "".join(msgList)
                    await ctx.send(msg)
                    text = ""
                    k = 0
                    for letra in usadas:
                        if (k == 0):
                            text += letra
                            k = 1
                        else:
                            text += ", " + letra
                    await ctx.send(f"Letras usadas: {text}")