【发布时间】:2021-05-21 20:23:17
【问题描述】:
几个小时以来,我一直在尝试使用 ID 对消息做出反应的命令。 如果有人写了 !react (消息 ID),机器人会对消息做出反应。 有人能帮我吗?我不知道该怎么做。
【问题讨论】:
标签: bots
几个小时以来,我一直在尝试使用 ID 对消息做出反应的命令。 如果有人写了 !react (消息 ID),机器人会对消息做出反应。 有人能帮我吗?我不知道该怎么做。
【问题讨论】:
标签: bots
使用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,所以你不用担心那部分。
【讨论】: