Discord.js bot 会在提及时做出响应

Lal*_*llu 1 javascript node.js discord discord.js

我试图让我的 discord.js bot 在 ping 时发送一条消息。我不确定如何执行此操作,因此我参考了此代码:

client.on('message', message => {
    if (message.content === '<@745648345216712825>') {
        message.channel.send('Message Here');
    }
});
Run Code Online (Sandbox Code Playgroud)

但是,这不起作用。

此外,当一个人提到特定用户时,我的机器人是否有可能做出响应,例如,如果用户在机器人响应的消息中的任何地方提到了我?如果是的话,你能告诉我怎么做吗?

Jak*_*kye 5

Message有一个名为 的属性mentions,其中包含消息中提到的所有频道、成员、角色和用户。您可以使用该方法.has(data, [options])MessageMentions,看是否有人提到你的机器人。


client.on("message", message => {
    if (message.author.bot) return false;

    if (message.content.includes("@here") || message.content.includes("@everyone")) return false;

    if (message.mentions.has(client.user.id)) {
        message.channel.send("Hello there!");
    };
});
Run Code Online (Sandbox Code Playgroud)

message事件已messageCreate在 Discord.JS v13 中重命名为。使用message仍然有效,但在切换之前您会收到弃用警告。