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:')
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
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" )
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)
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)
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)
async def conselho(ctx): storeXP(ctx.author.id, 1, ctx) frase = randomline(".txt/messages.txt") return await ctx.send(frase)
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!!!" )
async def guita(ctx): storeXP(ctx.author.id, 1, ctx) url = randomline(".txt/guitz.txt") return await p(ctx=ctx, query=url)
async def random(ctx): storeXP(ctx.author.id, 2, ctx) url = randomline(".txt/noises.txt") return await p(ctx=ctx, query=url)
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}")