如何让 Discord Bot (Javascript) 对反应做出反应

时间:2021-02-08 14:59:11

标签: javascript discord

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

{{1}}

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

1 个答案:

答案 0 :(得分: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