Python bot.wait_for_reaction(),使用自定义表情符号进行多重反应

Python bot.wait_for_reaction(),使用自定义表情符号进行多重反应,python,discord,discord.py,Python,Discord,Discord.py,我的命令起作用了,但是当我在表情符号中做出反应时,我不能在第二个表情符号中做出反应,我应该怎么做才能在两个表情符号中都做出反应? 我一次只能做出一个反应,如果我想在另一个表情中做出反应,我必须再次使用该命令。 请填写完整的答案如果你想在第一次之后再次聆听反应,最简单的方法是将反应倾听逻辑放入一个循环中。下面的循环侦听列表中的反应,并在看到反应时将其删除。例如,这样一来,人们就不能多次使用箭头反应 msg = await bot.send_message(ctx.message.chann

我的命令起作用了,但是当我在表情符号中做出反应时,我不能在第二个表情符号中做出反应,我应该怎么做才能在两个表情符号中都做出反应? 我一次只能做出一个反应,如果我想在另一个表情中做出反应,我必须再次使用该命令。
请填写完整的答案

如果你想在第一次之后再次聆听反应,最简单的方法是将反应倾听逻辑放入一个循环中。下面的循环侦听列表中的反应,并在看到反应时将其删除。例如,这样一来,人们就不能多次使用箭头反应

    msg = await bot.send_message(ctx.message.channel, 'test')
    emoji1 = discord.utils.get(bot.get_all_emojis(), name='bow')
    emoji2 = discord.utils.get(bot.get_all_emojis(), name='arrow')
    await bot.add_reaction(msg, emoji1)
    await bot.add_reaction(msg, emoji2)
    res = await bot.wait_for_reaction(emoji=[emoji1,emoji2], message=msg, user=ctx.message.author)
    if res:
        reaction, ctx.message.author = res
        if str(reaction.emoji) == ":bow:521854323022495747":
        ##stuffs
        if str(reaction.emoji) == ":arrow:521913180180447246":
        ##stuffs

如果您想在第一次之后再次聆听某个反应,最简单的方法是将反应聆听逻辑放入一个循环中。下面的循环侦听列表中的反应,并在看到反应时将其删除。例如,这样一来,人们就不能多次使用箭头反应

    msg = await bot.send_message(ctx.message.channel, 'test')
    emoji1 = discord.utils.get(bot.get_all_emojis(), name='bow')
    emoji2 = discord.utils.get(bot.get_all_emojis(), name='arrow')
    await bot.add_reaction(msg, emoji1)
    await bot.add_reaction(msg, emoji2)
    res = await bot.wait_for_reaction(emoji=[emoji1,emoji2], message=msg, user=ctx.message.author)
    if res:
        reaction, ctx.message.author = res
        if str(reaction.emoji) == ":bow:521854323022495747":
        ##stuffs
        if str(reaction.emoji) == ":arrow:521913180180447246":
        ##stuffs

你问什么还不是很清楚。您可以循环等待反应,只要有尚未使用的反应,可能会有一些超时,以防止旧会话持续很长时间。等等,不是很清楚吗?在命令下,我完美地写出了问题的起因。当我点击一个表情符号时,它会执行命令,但我不能对第二个表情符号做出反应,这就是问题所在,我必须再次执行命令,这样我才能点击第二个表情符号。你问什么还不是很清楚。您可以循环等待反应,只要有尚未使用的反应,可能会有一些超时,以防止旧会话持续很长时间。等等,不是很清楚吗?在命令下,我完美地写出了问题的起因。当我点击一个表情符号时,它会执行命令,但我不能对第二个表情符号做出反应,这就是问题所在,我必须再次执行命令,这样我才能点击第二个表情符号