无法发送类似于{embeds:〔embed〕}的空消息表单



当我的机器人在我的电脑上而不是服务器上运行时,我写了一个新命令。当机器人在我的电脑上运行时,命令运行得很好,但在我将机器人放入服务器后命令停止工作,我总是收到一条错误消息:DiscordAPIError:无法发送空消息

代码:

const Discord = require("discord.js");
const recon = require('reconlx');
const rpages = recon.ReactionPages
const moment = require('moment');
const fs = require('fs');
module.exports = class HelpCommand extends BaseCommand {
constructor() {
super('help', 'moderation', []);
}
async run(client, message, args) {
const y = moment().format('YYYY-MM-DD HH:mm:ss')
const sayEmbed1 = new Discord.MessageEmbed()
.setTitle(`example`)
const sayEmbed2 = new Discord.MessageEmbed()
.setTitle(`example`)
const sayEmbed3 = new Discord.MessageEmbed()
.setTitle(`example`)
const sayEmbed5 = new Discord.MessageEmbed()
.setTitle(`example`)
const sayEmbed4 = new Discord.MessageEmbed()
.setTitle(`example`)
const sayEmbed6 = new Discord.MessageEmbed()
.setTitle(`example`)
.setDescription("[A készítőm Weboldala](https://istvannemeth1245.wixsite.com/inde/)nn")
try {
await
message.delete();
const pages = [{ embed: sayEmbed1 }, { embed: sayEmbed2 }, { embed: sayEmbed3 }, { embed: sayEmbed4 }, { embed: sayEmbed5 }, { embed: sayEmbed6 }];
const emojis = ['◀️', '▶️'];
const textPageChange = true;
rpages(message, pages, textPageChange, emojis);
} catch (err) {
console.log(err);
message.channel.send('Nem tudom ki írni az üzenetet');
}
const contetn = `n[${y}] - ${message.author.username} használta a help parancsot. `;
fs.appendFile('log.txt', contetn, err => {
if (err) {
console.err;
return;
}
})
}
}

完整错误消息:

throw new DiscordAPIError(request.path, data, request.method, res.status);
^
DiscordAPIError: Cannot send an empty message
at RequestHandler.execute (/home/container/Lee-Goldway/node_modules/discord.js/src/rest/RequestHandler.js:154:13)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async RequestHandler.push (/home/container/Lee-Goldway/node_modules/discord.js/src/rest/RequestHandler.js:39:14) {
method: 'post',
path: '/channels/833629858210250813/messages',
code: 50006,
httpStatus: 400
}

有几件事。您确定此reconlx软件包与您的discord.js版本兼容吗?当你对库有问题时,发布你的discord.js版本总是一个好主意。

如果您使用的是reconlxv1,您可以在他们的旧文档中看到,在ReactionPages中,第二个参数采用嵌入数组。如果您检查源代码,您可以看到它试图将pages的第一项作为嵌入发送,如下所示:message.channel.send({ embeds: [pages[0]] })

这意味着,对于您的代码,embeds是一个数组,其中第一项是一个对象,该对象具有嵌入了sayEmbed1embed密钥,而discord.js接受MessageEmbeds的数组。

我会尝试传递这样一个嵌入数组:

const pages = [
sayEmbed1,
sayEmbed2,
sayEmbed3,
sayEmbed4,
sayEmbed5,
sayEmbed6,
];

PS:ki írni不正确。当动词助词在动词之前时,它们被写成一个词。因此,它应该是kiírni.:(

在提供的代码中,似乎没有引用"{embeds:[embed]}">
但是,假设错误来自以下行:

message.channel.send('Nem tudom ki írni az üzenetet');

参考官方文档,您可以提供一个对象。

例如:

message.channel.send({ content: 'Nem tudom ki írni az üzenetet' });

最新更新