当前位置: 首页 > 知识库问答 >
问题:

如果反应是特定反应,我将如何让我的机器人检测到反应,然后发送消息?

上官砚文
2023-03-14

我正在发出一个有反应的帮助命令,机器人将添加一个反应,然后用户将作出反应,机器人将发布相应的帮助消息。我很困惑为什么我的代码不能工作,因为它没有抛出错误。

const filter = (reaction, user) => {
    return [':zany_face:'].includes(reaction.emoji.name) && user.id === message.author.id;
};

message.awaitReactions(filter, { max: 1, time: 5000, errors: ['time'] })
    .then(collected => {
        const reaction = collected.first();
        if (reaction.emoji.name === ':zany_face:') {
            message.reply('test.');
        }
    })
    .catch(collected => {
        message.reply('You didn\'t react in time');
    });

收到任何帮助都表示感谢:)

Ps:我在嵌入的后面使用这个,所以我希望嵌入对它有一个反应,尽管我已经做了这一点,只是不知道如何在嵌入和反应之间有效地链接代码

共有1个答案

班浩皛
2023-03-14

这应该可以做到:

const filter = (reaction, user) => !user.bot && user.id ==usr.id; //makes sure only the message author can react

let msg = message.channel.send("React to me!")

//creates a collector on the message for 5 seconds
let collector = msg.createReactionCollector(filter, { time: 5000 });
//opens the reaction collector
collector.on('collect', async (reaction, collector) => {
    //checks which reaction was given
    const chosen = reaction.emoji.name;

    if(chosen == "EMOJIHERE"){
        //removes the user's reaction
        msg.reactions.get("EMOJIHERE").remove(message.author.id).catch(allerrors)
        //sends a message back
        message.channel.send("This is an answer.")
    }
})
 类似资料:
  • 我试图让机器人等待用户的反应,但我不知道如何设置它。我已经试过了,我也在第一部分中加入了,但是当它对消息作出反应时,使用了1️⃣ 机器人回答。

  • 当用户使用搜索命令时,我的机器人将用结果和表情符号回复。如何检查用户是否单击此表情符号? 事件回复(idResults.getMovieResults()。获取(0)。toString())。队列();事件getChannel()。sendMessage(“单击将其添加到您关注的列表中”)。队列(msg)-

  • 将我的bot从V11升级到V12。1.1我有一条信息Reaction添加为 是的,它不整洁,但它不会通过第2行

  • 我需要帮助。我不能升级我的反应原生项目的gradle版本。 我尝试了很多东西,下载了Android Studio的最后一个版本 我改变了这个文件\android\gradle\包装\gradle-wrapper.properties,我试图升级使用,但我仍然不能升级它。 当我反应-本机弹出它的出口"分发Url=https://services.gradle.org/distributions/gr

  • 问题内容: 最初,我使用以下ajax设置cookie。 现在,我想使用servlet的添加cookie函数来设置cookie。但是我不知道如何实现我的目标。 为了延长Cookie的时间限制,我应该在React端写些什么来接收Cookie的会话时间? 问题答案: 看来以前在npm软件包中存在的功能已移至。现在,来自通用Cookie存储库的相关示例是:

  • 问题内容: 我正在使用React js。我需要检测。当用户点击刷新图标或按F5时,我需要找出事件。 我使用javascript函数仍然没有运气。 这里我在stackblitz上有完整的代码 问题答案: 将其放在构造函数中: 它将起作用,请在stackblitz上查看此示例。