【问题标题】:Discord JS - DiscordAPIError: Unknown MessageDiscord JS - DiscordAPIError:未知消息
【发布时间】:2021-12-26 23:06:56
【问题描述】:

我收到一个错误:

DiscordAPIError: Unknown Message
    at RequestHandler.execute (D:\Programming\Discord Bot\node_modules\discord.js\src\rest\RequestHandler.js:298:13)        
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async RequestHandler.push (D:\Programming\Discord Bot\node_modules\discord.js\src\rest\RequestHandler.js:50:14)      
    at async MessageManager.delete (D:\Programming\Discord Bot\node_modules\discord.js\src\managers\MessageManager.js:205:5)
    at async Message.delete (D:\Programming\Discord Bot\node_modules\discord.js\src\structures\Message.js:741:5)
    at async AudioPlayer.<anonymous> (D:\Programming\Discord Bot\src\commands\next.js:44:21) {
  method: 'delete',
  path: '/channels/888095042437259287/messages/909879363472855080',
  code: 10008,
  httpStatus: 404,
  requestData: { json: undefined, files: [] }
}

当试图删除上一个时。像这样的消息:

await client.message.channel.send({
            content: `Song "${client.currentSong}" is playing`,
            components: [row],
        })
            .then(message => {
                client.player.on(AudioPlayerStatus.Idle, async () => {
                    await message.delete();
                });
            });

此代码正在通过另外一个事件代码执行:

client.player.on(AudioPlayerStatus.Idle, () => {
    if (!client.loop) client.playlist.shift();
    if (client.playlist.length === 0) return;
    next.run(client.message, client.args, client);
});

为什么它不起作用?

【问题讨论】:

  • 为什么是client.message.channel.send
  • 因为当我使用循环功能时,歌曲在没有我输入消息的情况下播放,所以我创建了全局变量client.message,它会记住我发送消息的最后一次聊天。
  • 邮件是否已经被删除?
  • 是的,该消息被删除,然后我收到一条消息Song "${client.currentSong}" is playing,然后出现错误。
  • 另外,我第一次执行这个东西,它工作,下一首歌曲播放,但第二次是我得到错误的地方

标签: javascript node.js discord.js


【解决方案1】:

您正在创建一个无限事件侦听器,这意味着只要音频播放器空闲,它就会尝试删除消息(即使它已经被删除)。更改它client.player.once,以便第一次删除侦听器。

.then(message => {
    client.player.once(AudioPlayerStatus.Idle, async () => {
        await message.delete();
    });
})

【讨论】:

    猜你喜欢
    • 2018-11-05
    • 1970-01-01
    • 2021-09-20
    • 2022-01-23
    • 2021-05-21
    • 2020-11-02
    • 2023-01-12
    • 2021-12-28
    • 2021-12-18
    相关资源
    最近更新 更多