几个小时以来,我一直在尝试使用 ID 对消息做出反应的命令。 如果有人写了 !react(消息 ID),机器人就会对消息做出反应。 有人能帮我吗?我不知道该怎么做。
答案 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
可以解析 id
和 URL
,因此您不必担心那部分。