我遇到了这个错误,但是我不确定是什么原因引起的。我尝试使用Googling并修复了先前的错误,其中的get是一个旧函数,现在称为fetch,但我找不到要设置的任何东西。我还尝试了npm install和npm update来查看是否有损坏的东西。这里有我想念的东西吗?
const {
prefix,
token,
} = require('./config.json');
const ytdl = require('ytdl-core');
const client = new Discord.Client();
client.login(token);
client.once('ready', () => {
console.log('Ready!');
});
client.once('reconnecting', () => {
console.log('Reconnecting!');
});
client.once('disconnect', () => {
console.log('Disconnect!');
});
client.on('ready', () => {
var generalChannel = client.channels.fetch("2131436123767") // Replace with known channel ID
generalChannel.send("Hello, world!")
})```
Stack
[1]: https://i.stack.imgur.com/Y2zOD.png
答案 0 :(得分:2)
提取是一个异步函数,这意味着代码会继续运行而不会默认解析
要解决此问题,请使用await
或then
等待:
client.on("ready", async () => {
const generalChannel = await client.channels.fetch("2131436123767");
generalChannel.send("Hello, world!");
});
然后:
client.on("ready,", () => {
client.channels.fetch("2131436123767")
.then(generalChannel => generalChannel.send("Hello, world!"));
});
此外,您还必须将on的实例“准备就绪”,将其合并为一个实例,并且不应将其他实例置于ready事件中。