Node.js Discord Webhooks通道返回未定义

Node.js Discord Webhooks通道返回未定义,node.js,discord,webhooks,channels,Node.js,Discord,Webhooks,Channels,我刚开始使用Webhook,我仔细阅读了discord文档,以帮助我建立一个非常基本的机器人。在这一点上,我想做的就是让机器人上线,并使用webhook发布帖子。我甚至直接从Discord Webhooks文档中复制了基本代码,但我无法实现 使用一些控制台日志,我确定client.channels.cache.get(config.webhookID);返回未定义的,因此channel.fetchWebhooks()不是函数。这仍然是获取频道中的Webhook的方法,还是文档已经过时了 我正在求

我刚开始使用Webhook,我仔细阅读了discord文档,以帮助我建立一个非常基本的机器人。在这一点上,我想做的就是让机器人上线,并使用webhook发布帖子。我甚至直接从Discord Webhooks文档中复制了基本代码,但我无法实现

使用一些控制台日志,我确定client.channels.cache.get(config.webhookID);返回未定义的,因此channel.fetchWebhooks()不是函数。这仍然是获取频道中的Webhook的方法,还是文档已经过时了

我正在求助于任何有经验的用户,他们可能会帮助我解决这个问题。我非常感谢你能提供的任何帮助

const Discord = require('discord.js');
const config = require('./config.json');

const client = new Discord.Client();

const embed = new Discord.MessageEmbed()
    .setTitle('Some Title')
    .setColor('#0099ff');

client.once('ready', async () => {
    const channel = client.channels.cache.get(config.webhookID); //This is the problem.
    try {
        const webhooks = await channel.fetchWebhooks(); //This will not execute because channel is undefined.
        const webhook = webhooks.first();

        await webhook.send('Webhook test', {
            username: 'some-username',
            avatarURL: 'https://i.imgur.com/wSTFkRM.png',
            embeds: [embed],
        });
    } catch (error) {
        console.error('Error trying to send: ', error);
    }
});

client.login(config.token);
控制台中的错误如下:

Error trying to send:  TypeError: Cannot read property 'fetchWebhooks' of undefined
    at Client.<anonymous> (C:\Users\me\OneDrive\Desktop\Discord Bot\index.js:13:34)
    at Object.onceWrapper (events.js:421:28)
    at Client.emit (events.js:315:20)
    at WebSocketManager.triggerClientReady (C:\Users\me\OneDrive\Desktop\Discord Bot\node_modules\discord.js\src\client\websocket\WebSocketManager.js:433:17)
    at WebSocketManager.checkShardsReady (C:\Users\me\OneDrive\Desktop\Discord Bot\node_modules\discord.js\src\client\websocket\WebSocketManager.js:417:10)    at WebSocketShard.<anonymous> (C:\Users\me\OneDrive\Desktop\Discord Bot\node_modules\discord.js\src\client\websocket\WebSocketManager.js:199:14)       
    at WebSocketShard.emit (events.js:315:20)
    at WebSocketShard.checkReady (C:\Users\me\OneDrive\Desktop\Discord Bot\node_modules\discord.js\src\client\websocket\WebSocketShard.js:467:12)
    at WebSocketShard.onPacket (C:\Users\me\OneDrive\Desktop\Discord Bot\node_modules\discord.js\src\client\websocket\WebSocketShard.js:439:16)
    at WebSocketShard.onMessage (C:\Users\me\OneDrive\Desktop\Discord Bot\node_modules\discord.js\src\client\websocket\WebSocketShard.js:293:10)
尝试发送时出错:TypeError:无法读取未定义的属性“fetchWebhooks” 在客户端。(C:\Users\me\OneDrive\Desktop\Discord Bot\index.js:13:34) 在Object.onceWrapper(events.js:421:28) 在Client.emit(events.js:315:20) 在WebSocketManager.TriggerClientrady(C:\Users\me\OneDrive\Desktop\Discord Bot\node\u modules\Discord.js\src\client\websocket\WebSocketManager.js:433:17) 在WebSocketManager.checkShardsReady(C:\Users\me\OneDrive\Desktop\Discord Bot\node\u modules\Discord.js\src\client\websocket\WebSocketManager.js:417:10)在WebSocketShard。(C:\Users\me\OneDrive\Desktop\Discord Bot\node\u modules\Discord.js\src\client\websocket\WebSocketManager.js:199:14) 在WebSocketShard.emit(events.js:315:20) 在WebSocketShard.checkReady(C:\Users\me\OneDrive\Desktop\Discord Bot\node\u modules\Discord.js\src\client\websocket\WebSocketShard.js:467:12) 在WebSocketShard.onPacket(C:\Users\me\OneDrive\Desktop\Discord Bot\node\u modules\Discord.js\src\client\websocket\WebSocketShard.js:439:16) 在WebSocketShard.onMessage(C:\Users\me\OneDrive\Desktop\Discord Bot\node\u modules\Discord.js\src\client\websocket\WebSocketShard.js:293:10)
我找到了答案。当我应该使用字段“channel_id”时,我正在使用字段“id”。

是否
config.webhookID
有效?你查过了吗???@Saeed,我想是的。我会做一个新的webhook后,这是解决了,所以我可以张贴在这里。我正在使用链接的“703706406125174825”部分。删除
缓存
并使用
客户端通道获取它。获取
@Saeed,它不是一个函数。我相信cache.get()是在discord.js v12中添加的,您是否检查了这个问题?