javascript - Discord 机器人无法创建嵌入 RangeError [EMBED_FIELD_VALUE]:MessageEmbed 字段值必须是非空字符串
问题描述
const {Client, RichEmbed, Intents, MessageEmbed } = require('discord.js');
const bot = new Client({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES] });
const token = 'token is a secret';
const PREFIX = '!';
bot.on('ready', () =>{
console.log('Bot has come online.');
});
bot.on('messageCreate', message =>{
let args = message.content.substring(PREFIX.length).split(' ')
switch(args[0]){
case 'mc':
const ping = require('minecraft-server-util')
ping.status('ip', { port: port})
.then((response)=>{
const Embed = new MessageEmbed()
.setTitle('Server Status', )
.addField('Server IP', response.host)
.addField('Server Version', response.version)
.addField('Online Players', response.onlinePlayers)
.addField('Max Players', response.maxPlayers)
message.channel.send({ embeds: [Embed] });
})
.catch((error)=>{console.error(error);});
break
}
})
bot.login(token);
我正在编写一个不和谐的机器人,它在发出分配的命令时发送我的我的世界服务器的状态。但由于某种原因,它无法创建嵌入。这是我得到的错误:RangeError [EMBED_FIELD_VALUE]: MessageEmbed field values must be non-empty strings
。我试图用谷歌搜索这个错误,但我无法清楚地理解。请告诉我哪里出了问题以及我应该如何纠正它。:(
解决方案
尝试这个:
.setTitle('Server Status')
.addField('Server IP', `** ** ${response.host}`)
.addField('Server Version', `** ** ${response.version}`)
.addField('Online Players', `** ** ${response.onlinePlayers}`)
.addField('Max Players', `** ** ${response.maxPlayers}`)
推荐阅读
- javascript - AssertionError: 预期 { Object (driver, name, ...) } 具有属性 '_id'
- swagger - Asp.NET Core 3.1 和 Swashbuckle.AspNetCore.Swagger
- c# - 如何避免 SSIS 中的动态“执行包任务”出错?
- javascript - 从 %appdata% 导入 Webpack
- angular - 创建一个在创建后直接发出的 Observable 的最佳方法是什么?
- image-processing - 深度图插值(稀疏到密集)
- excel - 忽略 VBA 中不可用的切片器项目
- ms-word - 单元格字互操作中的高度文本
- python - Jupyter 笔记本版
- php - 根据字符串中的类别 ID 过滤行