Discord.py bot 在添加反应时将消息重新发送到另一个频道中断

Posted

技术标签:

【中文标题】Discord.py bot 在添加反应时将消息重新发送到另一个频道中断【英文标题】:Discord.py bot resending messages to another channel breaking when reaction added 【发布时间】:2020-04-13 19:33:59 【问题描述】:

我有一个机器人来接收在一个频道中发送的所有消息,然后在另一个频道中重新发送它们。 代码如下:

@client.event
async def on_message(message): 
    channel = message.channel
    content = message.content
    author = message.author.name
    if channel.id == channelid1
        channel.id = channelid2
        await channel.send(author + ": " + content)
        channel.id = channelid1

它工作正常,但是一旦将反应添加到任何消息中,机器人就会中断并给出以下错误消息:

  File "C:\Users\nij\AppData\Local\Programs\Python\Python36\lib\site-packages\discord\state.py", 
line 407, in parse_message_reaction_add
    emoji = PartialEmoji.with_state(self, animated=emoji_data['animated'], id=emoji_id, 
name=emoji_data['name'])
KeyError: 'animated'

有谁知道如何解决这个问题?如果没有,是否有人知道使机器人自动重新连接的方法?

谢谢!

【问题讨论】:

【参考方案1】:

这是an issue with discord.py(由a breaking change in Discord's API 引起)应该是v1.2.5 中的fixed。

【讨论】:

以上是关于Discord.py bot 在添加反应时将消息重新发送到另一个频道中断的主要内容,如果未能解决你的问题,请参考以下文章

向消息添加反应。 Discord.py 重写

discord.py 按内容获取消息

对表情符号 discord.py 做出反应时添加角色

Discord.py bot - 如何让机器人在 DM 中向我发送用户的消息?

如何制作随机反应游戏(discord.py)

如何在没有 id 的 discord.py 中添加对消息的反应