如何使用 ID 添加对特定消息的反应? (不和谐.py)

时间:2021-02-18 20:12:08

标签: bots

几个小时以来,我一直在尝试使用 ID 对消息做出反应的命令。 如果有人写了 !react(消息 ID),机器人就会对消息做出反应。 有人能帮我吗?我不知道该怎么做。

1 个答案:

答案 0 :(得分:0)

使用 converter 获取消息的 discord.Message 实例:

@client.command()
async def react(ctx, message: discord.Message):
    ...

然后使用 Message.add_reaction 为其添加反应,我相信您可以自己弄清楚。

请记住,如果消息 ID 无效、无法找到或与调用命令的通道不在同一通道中,转换器将失败并抛出异常。如果您传入消息的 URL 而不是 ID,Discord 将能够确定消息是通过哪个渠道发送的,以便您可以从任何地方调用命令。

您可以通过选择 Copy Message Link 来获取消息的 URL,这对您的用户来说可能更好,因为获取 id 需要开启开发者模式,而大多数人并未启用该模式。开头提到的 MessageConverter 可以解析 idURL,因此您不必担心那部分。