gpt4 book ai didi

node.js - 机器人回复消息作者

转载 作者:太空宇宙 更新时间:2023-11-03 22:51:23 25 4
gpt4 key购买 nike

我创建了自己的 Node.js 机器人来在我的 Discord 服务器中工作。

我的机器人名为 mybot

我见过很多响应传入消息的示例 - 它们看起来像这样(并且工作得很好)。

chatroom.on('message', function(msg){
if(msg.content === 'ping'){
msg.reply('pong');
}
});

只要有人在 channel 中写入“ping”,上面的代码就会让机器人回复“pong”。

与大多数机器人一样,通常您会与他们交谈并询问他们类似 @mybot blahblahblah 的内容 - 然后他们回复。

我想做这个。我希望 mybot 仅在与他交谈时才回复。必须有一个 msg.recipientListmsg.recipients 来捕获 @mybot。我浏览了 Discord.js 的文档,但很难找到这个结果。

最佳答案

有几种不同的方法可以做到这一点,但我认为最“优雅”的方法是使用 Message.isMentioned它以一个对象(类型为 User、GuildChannel、Role、string)作为参数来检查消息中是否有对该对象的 @reference。您需要做的就是提供机器人的 User 对象(基类的存储对象是 ClientUser 实例,但 User 是其父类(super class))。

// I'm assuming chatroom is your bot's DiscordClient instance,
// if it isn't then replace the "chatroom" in chatroom.user with the bot's
// DiscordClient.
chatroom.on('message', msg => {
if (msg.isMentioned(chatroom.user)) {
msg.reply('pong');
}
});

关于node.js - 机器人回复消息作者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42357851/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com