我想發出一個命令讓機器人將其連接狀態回傳到資料庫,但我得到了一個錯誤,我現在有點困惑。
RangeError [MESSAGE_CONTENT_TYPE]: Message content must be a non-empty string.
const { MessageEmbed } = require('discord.js');
const quick = require('quick.db');
module.exports = {
name: 'ping',
aliases: [],
description: 'Get bot ping.',
permissions: [],
async execute(message, client) {
const ping = await getDBPingData();
const messagePing = Date.now();
const msg = await message.channel.send('Loading...');
const endMessagePing = Date.now() - messagePing;
const embed = new MessageEmbed()
.setDescription(
`
Database ping data:
- Fetch ping: \`${ping.endGet}ms\`
- Wright ping: \`${ping.endWright}ms\`
- Avrage ping: \`${ping.avarage}ms\`
Message ping: \`${endMessagePing}ms\`
`
)
.setColor('GREEN')
.setTimestamp();
msg.edit({
content: '',
embed,
});
},
};
async function getDBPingData() {
// get the fetch data ping
const startGet = Date.now();
await quick.get('QR=.');
const endGet = Date.now() - startGet;
// get the wright data ping
const startWright = Date.now();
await quick.set('QR=.', Buffer.from(startWright.toString()).toString('base64'));
const endWright = Date.now() - startWright;
// avrage ping time
const avarage = (endGet endWright) / 2;
try {
quick.delete('QR=.');
} catch (error) {}
return { endGet, endWright, avarage };
}
我正在使用 discord.js v13,此命令使用的包是:discord.js和quick.db.
uj5u.com熱心網友回復:
在 v13 中,機器人發送的訊息現在支持多達 10 個嵌入。結果, embed 選項被洗掉并替換為 embeds 陣列,該陣列必須在選項物件中,因此您的訊息編輯應該是msg.edit({ embeds: [embed] }).
如果您還想洗掉之前的文本(Loading...),您需要添加content: null一個空字串(''),因為這content將拋出一個RangeError.
msg.edit({
content: null,
embeds: [embed],
});
uj5u.com熱心網友回復:
嘗試這個:
// only need to edit embed in an embeds array
msg.edit({ embeds: [embed] })
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/450044.html
標籤:javascript 节点.js 不和谐 不和谐.js
上一篇:Firebase資料消耗
