Попытка проверить, является ли реакция wait_for определенной смайликой - PullRequest
0 голосов
/ 25 июня 2019

Я пытаюсь проверить, является ли один из моих wait_for возвращением определенного смайлика.

Я пробовал str (one.reaction.emoji), я пробовал one.reaction.emoji

charm = discord.Embed(description=f"React With The Corresponding Emoji, What You Wish To Edit.", color=0xff89ff)
charm.set_author(name=f"{user.name}")
charm.set_thumbnail(url=str(user.avatar_url))
charm.add_field(name="Name", value=":one:")
charm.add_field(name="Sexual Preference", value=":two:")
charm.add_field(name="Biography", value=":three:")
charm.add_field(name="Hobbies", value=":four:")
charm.add_field(name="Location", value=":five:")
editmsg = await user.send(embed=charm)
await editmsg.add_reaction(emoji="1\N{combining enclosing keycap}")
await editmsg.add_reaction(emoji="2\N{combining enclosing keycap}")
await editmsg.add_reaction(emoji="3\N{combining enclosing keycap}")
await editmsg.add_reaction(emoji="4\N{combining enclosing keycap}")
await editmsg.add_reaction(emoji="5\N{combining enclosing keycap}")
one = bot.wait_for("reaction_add", check=onecheck)

if str(one.reaction.emoji) == "1\N{combining enclosing keycap}":
await user.send("What Do You Wish To Change Your Name To?")

1 Ответ

0 голосов
/ 25 июня 2019

Вы можете попробовать что-то вроде этого:

try:
    reaction, user = await bot.wait_for('reaction_add', timeout=30.0)
except asyncio.TimeoutError:
    await user.send('I did not receive your reaction :(')
else:
    if str(reaction.emoji) == '?':
        await user.send('Haha')
    if str(reaction.emoji) == '?':
        await user.send('Say something')
    if str(reaction.emoji) == '?':
        await user.send('and so on')
    ...
...