【问题标题】:Cannot send an empty message on discord.js v13无法在 discord.js v13 上发送空消息
【发布时间】:2021-12-25 09:32:34
【问题描述】:

好的,我下载了一个适用于 discord.js V12(discord-pagination)的旧插件,我希望它也适用于 V13,我该怎么办?

当我尝试使用我的命令时,它显示Cannot send an empty message,问题出在下面的代码中。

const paginationEmbed = async (msg, pages, emojiList = ["⏪", "⏩"], timeout = 120000) => {
    if (!msg && !msg.channel) throw new Error("Channel is inaccessible.");
    if (!pages) throw new Error("Pages are not given.");
    if (emojiList.length !== 2) throw new Error("Need two emojis.");
    let page = 0;
    const curPage = await msg.channel.send(pages[page].setFooter(`Page ${page + 1} / ${pages.length}`));
    for (const emoji of emojiList) await curPage.react(emoji);
    const reactionCollector = curPage.createReactionCollector((reaction, user) => emojiList.includes(reaction.emoji.name) && !user.bot, { time: timeout });
    reactionCollector.on("collect", (reaction) => {
        reaction.users.remove(msg.author);
        switch (reaction.emoji.name) {
            case emojiList[0]:
                page = page > 0 ? --page : pages.length - 1;
                break;
            case emojiList[1]:
                page = page + 1 < pages.length ? ++page : 0;
                break;
            default:
                break;
        }
        curPage.edit(pages[page].setFooter(`Page ${page + 1} / ${pages.length}`));
    });
    reactionCollector.on("end", () => {
        if (!curPage.deleted) {
            curPage.reactions.removeAll();
        }
    });
    return curPage;
};
module.exports = paginationEmbed;

【问题讨论】:

  • 什么是pages
  • 请编辑问题以将其限制为具有足够详细信息的特定问题,以确定适当的答案。

标签: javascript node.js discord discord.js


【解决方案1】:

根据您的代码猜测,我认为问题在于发送嵌入。

message.channel.send(embed) // deprecated
message.channel.send({embeds: [embed] }) // V13 version

所以对你来说,你必须改变一行:

// change this
const curPage = await msg.channel.send(pages[page].setFooter(`Page ${page + 1} / ${pages.length}`));
// to this
const curPage = await msg.channel.send({ embeds: [pages[page].setFooter(`Page ${page + 1} / ${pages.length}`)] });

curPage.edit 也是如此:

// change this
curPage.edit(pages[page].setFooter(`Page ${page + 1} / ${pages.length}`));
// to this
curPage.edit({ embeds: [pages[page].setFooter(`Page ${page + 1} / ${pages.length}`)] });

您可能还想阅读Guide,了解如何从 V12 更新到 V13

【讨论】:

    猜你喜欢
    • 2022-01-20
    • 2021-10-17
    • 2021-06-25
    • 2020-01-25
    • 2021-11-02
    • 2021-12-01
    • 2020-10-09
    • 2021-12-24
    • 2021-12-12
    相关资源
    最近更新 更多