向消息discord.py添加多个反应

时间:2020-07-06 19:44:15

标签: python discord discord.py

因此,下面显示的代码旨在将嵌入的消息发送到发送命令的不和谐频道。一旦到达,它就会添加数字1到3的表情符号作为反应。

    # Start
    @client.command()
    async def start(self, ctx):
        # Main Message
        em = discord.Embed(title="Welcome to the Escape Room Test")
        em.add_field(name="To Continue React to the 1.", value="Ignore this", inline=False)
        message = await ctx.channel.send(embed=em)
        # Add Reactions
        number_of_responses = 3
        for counter in range(number_of_responses):
            await message.add_reaction(emoji_numbers[counter])
    # End Start
emoji_numbers = ["1️⃣", "2️⃣", "3️⃣", "4️⃣", "5️⃣", "6️⃣", "7️⃣", "8️⃣", "9️⃣"]

但是,在添加第一个表情符号后,出现此错误,并且无法找到一种方法来克服它。任何建议将是惊人的。谢谢。

Traceback (most recent call last):
  File "d:/aab_dev/aaa_NewDev/EscapeRoomBot/bot.py", line 21, in <module>
    client.run("CLIENT-TOKEN-WAS-HERE")
  File "C:\Program Files (x86)\Python37-32\lib\site-packages\discord\client.py", line 574, in run
    return task.result()
  File "C:\Program Files (x86)\Python37-32\lib\site-packages\discord\client.py", line 494, in _silence_gathered
    fut.result()
  File "C:\Program Files (x86)\Python37-32\lib\site-packages\discord\client.py", line 482, in start
    await self.connect(reconnect=reconnect)
  File "C:\Program Files (x86)\Python37-32\lib\site-packages\discord\client.py", line 404, in connect
    await self._connect()
  File "C:\Program Files (x86)\Python37-32\lib\site-packages\discord\client.py", line 369, in _connect
    await self.ws.poll_event()
  File "C:\Program Files (x86)\Python37-32\lib\site-packages\discord\gateway.py", line 447, in poll_event
    await self.received_message(msg)
  File "C:\Program Files (x86)\Python37-32\lib\site-packages\discord\gateway.py", line 401, in received_message
    func(data)
  File "C:\Program Files (x86)\Python37-32\lib\site-packages\discord\state.py", line 391, in parse_message_reaction_add
    emoji = PartialEmoji(animated=emoji_data['animated'], id=emoji_id, name=emoji_data['name'])
KeyError: 'animated'
Unclosed client session
client_session: <aiohttp.client.ClientSession object at 0x055704D0>

1 个答案:

答案 0 :(得分:1)

该代码有效,但我对其进行了一些修改。

您的代码:

@client.command()
async def start(self, ctx):
    # Main Message
    em = discord.Embed(title="Welcome to the Escape Room Test")
    em.add_field(name="To Continue React to the 1.", value="Ignore this", inline=False)
    # Add Reactions
    number_of_responses = 3
    emoji_numbers = ["1️⃣", "2️⃣", "3️⃣", "4️⃣", "5️⃣", "6️⃣", "7️⃣", "8️⃣", "9️⃣"]

    message = await ctx.send(embed=em)
    for i in range(number_of_responses):
        await message.add_reaction(emoji_numbers[i])