我刚接触不一致和不一致js,我在这里尝试做的是,我希望我的不一致机器人能检测到用户是否刚刚对带有该消息的表情符号做出了反应。这里的表情符号是:toolbox:。我正在使用第三方机器人发送消息的渠道,在那里用户将与表情符号反应,他将被分配由第三方机器人的角色。一旦完成,我需要向用户发送一条个人消息。以下是我的代码
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的任何点击。请帮帮忙。
发布于 2021-11-22 11:56:20
您正在寻找的是Message.createReactionCollector方法。
首先需要声明<Message>对象,该对象表示要在其上创建反应收集器的消息。一种方法是通过发送消息的通道ID和消息ID。如下所示:
const message = await (await <Client>.channels.fetch(CHANNEL_ID)).messages.fetch(MESSAGE_ID);为了简单起见,我显然没有在这些示例中处理任何Promise rejections。然后,您可以使用前面提到的createReactionCollector方法来预期和处理对此消息的反应:
const collector = message.createReactionCollector(<ReactionCollectorOptions>);
collector.on("collect", <Reaction> => {
//TODO
});
collector.on("end", <Collection> => {
//TODO
});https://stackoverflow.com/questions/70050050
复制相似问题