首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何检测用户是否对discord中的消息的嵌入反应做出了反应,并向他发送消息?

如何检测用户是否对discord中的消息的嵌入反应做出了反应,并向他发送消息?
EN

Stack Overflow用户
提问于 2021-11-20 21:36:21
回答 1查看 62关注 0票数 0

我刚接触不一致和不一致js,我在这里尝试做的是,我希望我的不一致机器人能检测到用户是否刚刚对带有该消息的表情符号做出了反应。这里的表情符号是:toolbox:。我正在使用第三方机器人发送消息的渠道,在那里用户将与表情符号反应,他将被分配由第三方机器人的角色。一旦完成,我需要向用户发送一条个人消息。以下是我的代码

代码语言:javascript
运行
复制
if(reaction.msg.id == "910907568459759617"){
        console.log("Reaction detected.Sending a message to the user in dm");
        reaction.author.send("Holla Can you send me your email id ?");
    }

我甚至无法检测到该消息上的任何更改或对reaction emoji的任何点击。请帮帮忙。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-22 11:56:20

您正在寻找的是Message.createReactionCollector方法。

首先需要声明<Message>对象,该对象表示要在其上创建反应收集器的消息。一种方法是通过发送消息的通道ID和消息ID。如下所示:

代码语言:javascript
运行
复制
const message = await (await <Client>.channels.fetch(CHANNEL_ID)).messages.fetch(MESSAGE_ID);

为了简单起见,我显然没有在这些示例中处理任何Promise rejections。然后,您可以使用前面提到的createReactionCollector方法来预期和处理对此消息的反应:

代码语言:javascript
运行
复制
const collector = message.createReactionCollector(<ReactionCollectorOptions>);

collector.on("collect", <Reaction> => {
    //TODO
});

collector.on("end", <Collection> => {
    //TODO
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70050050

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档