前提・発生している問題
Discord.pyでDiscordのbot作成を試みています。
wait_forを使いユーザーのリアクションを待って反応を返したいのですが、
リアクションを返してもタイムアウトとなってしまい望んだ結果が得られません。
お力を貸していただけないでしょうか。
該当のソースコード
python
1import discord 2import asyncio 3from discord.ext import commands 4 5emojis = ["{}\N{COMBINING ENCLOSING KEYCAP}".format(num) for num in range(1, 10)] 6 7@bot.event 8async def on_message(message): 9 if message.content.startswith('$thumb'): 10 channel = message.channel 11 await channel.send('Send me that' + emojis[0] + 'reaction, mate') 12 13 def check_emj(reaction, user): 14 emj = str(reaction.emoji) 15 return (user == message.author) and (emj == emojis[0]) or (emj == emojis[1]) 16 17 try: 18 reaction, user = await bot.wait_for('reaction_add', timeout=60.0, check=check_emj) 19 except asyncio.TimeoutError: 20 await channel.send(emojis[2]) 21 else: 22 if str(reaction.emoji) == emojis[0]: 23 await channel.send(emojis[5]) 24 if str(reaction.emoji) == emojis[1]: 25 await channel.send(emojis[4])
試したこと
def check_emjのreturn以下に問題があるかと思い、括弧で括ってみたりしたのですがダメでした。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/29 08:17
2020/07/29 08:19