javascript - 提到用户时命令不起作用
问题描述
我有一段代码,如果没有提及,则返回带有提到的用户或消息作者的头像的 Rich Embed,代码在没有提及的情况下工作,但在提及某人时不起作用。(控制台没有错误)
if (message.content === prefix + "avatar") {
const user = message.mentions.users.first()
if (!message.mentions.users.size) {
const Embed = new Discord.MessageEmbed()
.setAuthor(message.author.tag, message.author.avatarURL())
.setColor("#13e2c0")
.setTitle("Avatar")
.setImage(message.author.avatarURL())
message.channel.send(Embed)
}
const Embed = new Discord.MessageEmbed()
.setAuthor(user.tag, user.avatarURL())
.setColor("#13e2c0")
.setTitle("Avatar")
.setImage(user.avatarURL())
message.channel.send(Embed)
}
解决方案
如果没有用户提及,message.mentions.users.size
, 将始终为 0,而不是NULL
或undefined
。
if (message.content.toLowerCase().startsWith(prefix + "avatar")) {
const user = message.mentions.users.first() || message.author;
const Embed = new Discord.MessageEmbed()
.setAuthor(user.tag, user.avatarURL())
.setColor("#13e2c0").setTitle("Avatar")
.setImage(user.avatarURL())
return message.channel.send(Embed);
}
推荐阅读
- node.js - 无法使用cheerio抓取链接
- angular - 在 Angular 8 中创建 App shell 时出错
- javascript - 渲染文本区域中输入的换行符
- xamarin.forms - 没有第三方库的 xamarin.forms 授权
- python - 没有提供静态文件夹的烧瓶轮文件
- javascript - 手机上无限连续循环滚动
- spring-boot - 如何调试永远不会完成的 Mono
- firebase - Firebase/Firestore 静态加密级别
- postgresql - SQL 中的 MIN 函数未按预期工作
- sql-server - 无法将 Polybase 连接到 PostgreSQL