【发布时间】:2022-02-15 22:41:04
【问题描述】:
在过去的几天里,机器人总是在 01:02 每 24 小时重新启动一次,但今天我已经出现了 3 次错误,我不知道错误是如何发生的,我该如何解决它.
这是错误:
/home/container/node_modules/discord.js/src/structures/Message.js:651
if (!channel) throw new Error('GUILD_CHANNEL_RESOLVE');
^
Error [GUILD_CHANNEL_RESOLVE]: Could not resolve channel to a guild channel.
at Message.fetchReference (/home/container/node_modules/discord.js/src/structures/Message.js:651:25)
at Client.<anonymous> (/home/container/src/events/reply/reply.js:9:45)
at Client.emit (node:events:532:35)
at MessageCreateAction.handle (/home/container/node_modules/discord.js/src/client/actions/MessageCreate.js:26:14)
at Object.module.exports [as MESSAGE_CREATE] (/home/container/node_modules/discord.js/src/client/websocket/handlers/MESSAGE_CREATE.js:4:32)
at WebSocketManager.handlePacket (/home/container/node_modules/discord.js/src/client/websocket/WebSocketManager.js:351:31)
at WebSocketShard.onPacket (/home/container/node_modules/discord.js/src/client/websocket/WebSocketShard.js:444:22)
at WebSocketShard.onMessage (/home/container/node_modules/discord.js/src/client/websocket/WebSocketShard.js:301:10)
at WebSocket.onMessage (/home/container/node_modules/ws/lib/event-target.js:199:18)
at WebSocket.emit (node:events:520:28) {
[Symbol(code)]: 'GUILD_CHANNEL_RESOLVE'
}
我认为代码来自的代码: 我想用它来检查消息是否是回复,以及回复的消息是否来自特定的人
const client = require('../../index.js');
const { MessageEmbed } = require('discord.js');
const databese = require('../../database/enabled.json');
const fs = require('fs');
//Log ID: 780479980663603260
//Braxic Reply
client.on('messageCreate', async message => {
if (message.reference && (await message.fetchReference())?.author.id == '442479859801784320'){
//Check if the person is allowed to ping
if(!message.guild) return;
if(message.author.bot) return;
const banList = require('../../database/enabled.json').botBanList;
if(banList.includes(message.author.id)) return;
//Message in Chat
message.channel.send(`<@${message.author.id}> Bitte nicht die YouTuber pingen.`)
message.delete()
}
})
也许有人可以帮助我,或者给我发一个代码 sn-p 来解决这个问题
【问题讨论】:
-
我不完全明白您想在这里做什么
if (message.reference && (await message.fetchReference())?.author.id == '442479859801784320'),您是否要检查来自message.reference 和message.fetchReference 的author.id? -
我想用它来检查消息是否是回复以及回复的消息是否来自特定的人@19mike95
-
因为没有通道而抛出错误;您应该发布整个代码或至少相关部分!
-
我发送了整个代码,我还应该发送什么?消息创建?我怀疑这与它有什么关系@dcolazin
-
抱歉,堆栈跟踪不是最好的。
标签: node.js discord.js