当前位置: 首页 > 知识库问答 >
问题:

不一致js无法读取未定义的属性“fetch”

西门品
2023-03-14

我刚开始使用Javascript和Discord进行开发。js,并收到以下错误:

TypeError:无法读取未定义的属性“fetch”

我正在尝试执行轮询命令。这是代码(我删除了所有其他内容,只是想让它退出频道):

const Discord = require('discord.js');
const client = new Discord.Collection();

 module.exports = {
    name: 'poll',
    description: 'can make polls',
    cooldown: 5,
    usage: '[ask] [emoji1] [emoji 2]',
    aliases: ['createpoll'],
    execute(message, args) {
        client.channels.fetch('744582158324072468')
        .then (channel => console.log(channel.name))
        .catch(console.error);
       // message.react(args[1]).then(() => message.react(args[0]));
    },
};     

我已经试着把它放在Main.js工作:

client.on('message', message => {
if (message.content.startsWith('.poll')) {
        client.channels.fetch('744582158324072468')
        .then (channel => console.log(channel.name))
        .catch(console.error); 
    }
}

但是我想要正确的文件。这就是我在客户上面所做的。在(‘消息’等)上。

const fs = require('fs');
const Discord = require('discord.js');
const { prefix, token, tprefix, welcomechannel, guildID } = require('./config.json');

const client = new Discord.Client({
    fetchAllMembers: true,
});

client.commands = new Discord.Collection();


const commandFiles = fs.readdirSync('./commands').filter(file => file.endsWith('.js'));

for (const file of commandFiles) {
    const command = require(`./commands/${file}`);
    client.commands.set(command.name, command);
}

const cooldowns = new Discord.Collection();

// update

client.once('ready', () => {
    console.log(`${tprefix}Paperbot got geupdated.`);
});

当然,我谷歌了一下,看了看留档,但没有帮助。

正如我所说,我是编程新手,这可能是一个很容易解决的问题,但我希望尽快解决这个问题,非常感谢。

共有2个答案

秦俊友
2023-03-14

您将客户端分配到代码顶部的新不和谐集合。

实际上,您正在进行收集。频道。获取而不是客户端。频道。获取

您需要将客户机从主文件传递到命令。

强才捷
2023-03-14

想出来了。我只是需要添加消息到client.channels.fetch

现在它正在使用以下代码:

const { tprefix, pollchannel, modchannel } = require('../config.json');


 module.exports = {
    name: 'poll',
    description: 'can make polls',
    cooldown: 5,
    usage: '[ask] [emoji1] [emoji 2]',
    aliases: ['createpoll'],
    execute(message) {
        message.client.channels.fetch('744582158324072468')
        .then (channel => console.log(channel.name))
        .catch(console.error);
    },
};     

谢谢你@Jack Towns

 类似资料:
  • 有人能告诉我我做错了什么吗? 慰问: (节点:11924)未处理的PromisejectionWarning:未处理的promise拒绝。此错误源于在没有catch块的情况下抛出异步函数的内部,或者拒绝使用未处理的promise。catch()。要在未处理的promise拒绝时终止节点进程,请使用CLI标志(请参阅https://nodejs.org/api/cli.html#cli_unhand

  • 我有个麻烦,我一点也不懂。该函数在我的服务器上工作,而在另一个服务器上不工作。这是我的密码: 错误是: (节点: 11288)UnhandledPromiseRejtionWarning: TypeError:无法读取属性'user'的null在Object.run(C:\用户\Alumetryu\桌面\bot\命令\info\serverinfo.js:20: 48)在客户端。(C:\用户\Al

  • 当我尝试在React的钩子中赋值变量时,我遇到了这个奇怪的错误。 未处理得拒绝(TypeError):无法读取未定义得属性“y” 下面是这个文件的代码,这是一个非常基本的文件: 它说和是,但该print语句显示数组不是并且具有我设置的值。这不是一个状态问题,因为如果我将数据设置为文件中的常量,它仍然不起作用...任何帮助都是感激的,因为这个愚蠢的错误而精神崩溃。

  • 为什么我得到这个错误不能读取未定义的触摸属性? 为什么它不能读取,但它可以读取 当我们使用

  • 问题内容: 我正在制作非常简单的react应用。但是,当我尝试通过onChange事件调用父(实际上是祖父母)组件的方法时,我一直在获取。 这是触发事件的组件/表单(因此,在绑定的父组件上调用方法…是的,因为我通过道具将其从父组件传递下来,所以在方法上使用了.bound(this)。) 这是我如何通过大多数父(祖父母)组件中的props传递该方法的方法。 这是我作为父项(方法所有者和方法调用程序之

  • 我正在测试发送电子邮件与流星js和nodemailer插件: 流星添加捷运:流星NodeEmailer 当页面加载时,我在导航器的控制台上看到错误:无法读取未定义的属性“创建运输”。 那么问题是什么呢? 代码如下: /////////////////////////////////////////// ///////////////