bots - RichEmbed 字段值可能不为空如何解决?
问题描述
我不断收到错误消息:RichEmbed 字段值可能不为空。并且无法找出问题所在。它会做所有事情,而不是根据自己的命令做出反应。它在聊天 /userinfo @name 中说,但随后给了我错误并且没有显示它应该显示的信息
const Discord = require ('discord.js');
const bot = new Discord.Client();
const config = require ('./SecretStuff/config.json')
const prefix = config.prefix;
const snek = require ('snekfetch');
bot.on('ready', () => console.log("online!"));
bot.on("guildMemberAdd", (member) => {
let guild = member.guild;
let memberTag = member.user.tag;
if(member.guild.channels.find(channel => channel.name === "welcomechannel"));
guild.systemChannel.send("/userinfo" + " <@" + member.id + ">" )
}
);
bot.on('message', async (msg) => {
if (msg.content.startsWith(prefix + "userinfo")) {
let member = msg.mentions.users.first() || msg.author;
let userembed = new Discord.RichEmbed()
.setColor(msg.guild.member(member).highestRole.color)
.setThumbnail(member.displayAvatarURL)
.setTitle(`Here is ${member.username}'s info.`)
.addField(`Name:`, member.username, true)
.addField(`Id:`, member.id, true)
.addField(`Bot:`, member.bot ? "Yes" : "No", true)
.addField("Game:", msg.guild.member(member).presence.game ? msg.guild.member(member).presence.game.name : "Not Playing", true)
.addField("Nickname:", msg.guild.member(member).nickname ? msg.guild.member(member).nickname : "None", true )
.addField("Last Messsage:", member.lastMessage, true)
.addField(`Roles:`, msg.guild.member(member).roles.map(s => s).join(" | "), true)
.addField("Created At:", member.createdAt, true)
.addField("JoinedAt:", msg.guild.member(member).joinedAt, true)
msg.channel.send(userembed);
}
});
let token = config.token;
bot.login(token)
解决方案
推荐阅读
- spring-boot - Spring Boot:始终获取 404 状态
- python - PyQT 中的多个页面的标准是什么?
- c - 将双精度数转换为字符串时,第一个字符串字符可以是什么?
- python - 为什么tensorflow中的这个RNN不学习?
- c - 将 malloc 用于 2D 数组时出现分段错误
- python - Selenium:从新打开的选项卡中抓取数据
- python - 使用带有 sqlite 的 sqlalchemy 使用 pandas to_sql 自动提交
- laravel - laravel S3 临时 URL 的安全性如何?
- c++ - 操作二维整数数组时堆栈溢出
- java - 无法写入 JSON:无法找到 id 为 0 的 com.demo.model.Control;