【问题标题】:How to make a Discord Bot (Javascript) react to reactions如何让 Discord Bot (Javascript) 对反应做出反应
【发布时间】:2021-05-12 04:48:30
【问题描述】:

我一直在尝试使用 Javascript Discord Bot 制作基于文本的游戏,但我不知道如何让机器人在用户发送反应时发送消息(即玩家对机器人消息的反应是某个表情符号)。

client.on("message", message => { 
  if (message.content === "!start") {
    message.channel.send("Hello")
  }

  if (message.content === "Hello") {
    message.react("????")
  }

  if (message.react === "????") {
    message.channel.send("You walk into the labyrinth")
  }
)}

有人可以帮助纠正错误吗?

【问题讨论】:

标签: javascript discord


【解决方案1】:

我不确定是否有专门的事件,但您可以使用raw 捕捉反应事件:

const events = {
    MESSAGE_REACTION_ADD: "messageReactionAdd",
    MESSAGE_REACTION_REMOVE: "messageReactionRemove"
};

client.on("raw", async (event, client) => {
    if (!events.hasOwnProperty(event.t)) return;

    const { d: data } = event;

    const message = await client.channels.cache.get(data.channel_id).messages.fetch(data.message_id);

    if (event.d.emoji.name !== "?"){
        message.channel.send("You walk into the labyrinth");
    }

    // ...

    if (event.t === "MESSAGE_REACTION_ADD"){
        // Reaction was added
    }
    else if (event.t === "MESSAGE_REACTION_REMOVE"){
        // Reaction was removed
    }
});

编辑:好像there is a dedicated event

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-06-07
    • 2021-11-17
    • 2019-10-18
    • 2020-07-27
    • 2020-10-31
    • 2020-06-29
    • 1970-01-01
    • 2021-07-13
    相关资源
    最近更新 更多