因此,下面显示的代码旨在将嵌入的消息发送到发送命令的不和谐频道。一旦到达,它就会添加数字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>
答案 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])