当我们提到(@)机器人时,如何使 Discord.js 机器人响应本地图片?

Posted

技术标签:

【中文标题】当我们提到(@)机器人时,如何使 Discord.js 机器人响应本地图片?【英文标题】:How to make Discord.js Bot responds with local picture when we mentions(@) the bot? 【发布时间】:2021-01-07 18:15:19 【问题描述】:

我是 javascript 的新手。当有人提到(@)它时,我想让我的不和谐服务器的机器人在我的计算机上用本地图片响应。我尝试了多种方法, 这是我遵循的文档:

client.on('message', (message) => 
 if (message.mentions.has("My Bot's ID")) 
  const attachment = new MessageAttachment('./images/image1.png');
  return message.channel.send(`Hi $message.author,`, attachment);
 
);

这个失败了,还有我试过的几个老版本的方法。有些甚至不运行,所以我删除了它们。

另外,除了版本(12.3.1)的文档之外,我找不到任何其他材料。

【问题讨论】:

这看起来很直接,我从来没有在不和谐上构建过机器人,但代码相当简单,当有人提到机器人时,它会从条件触发函数。要弄清楚提及到这里discordjs.guide/miscellaneous/… 【参考方案1】:

MessageMentions 是一个对象。您正在寻找MessageMentions.users 收藏。

client.on('message', (message) => 
 if (message.mentions.users.has("My Bot's ID")) 
  // message.mentions.users
  const attachment = new MessageAttachment('./images/image1.png');
  return message.channel.send(`Hi $message.author,`, attachment);
 
);

【讨论】:

以上是关于当我们提到(@)机器人时,如何使 Discord.js 机器人响应本地图片?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Discord.py Cogs 使 Discord Bot 加入语音频道并在成员加入频道时播放音频文件

添加时如何使 Discord 机器人需要 x 权限?使用 Python

Discord.py - 如何检测用户是不是提到/ping 机器人

[使用message.content.startswith时如何使Discord机器人对服务器表情符号做出反应

(Discord 机器人)当用户加入 Discord 服务器(discord.js)时,如何发送欢迎消息?

如何通过 discord.py 重写从提到的用户那里获取输入?