我正在尝试修改discord.js中的“乒乓”示例代码。
我不想登录控制台,而是想在Discord的特定频道中发送消息。
我尝试使用下面的代码来做到这一点,但它一直向我显示此错误:
(node:10192) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'channels' of undefined
at Client.<anonymous> (D:\GAMES\DiscordBot\index.js:7:12)
这是我正在使用的代码:
const Discord = require('discord.js');
const client = new Discord.Client();
console.log(client);
client.on('ready', client => {
client.channels.get('787667808777998851').send('Hello here!');
});
client.on('message', msg => {
if (msg.content === 'ping') {
msg.reply('pong');
}
});
client.login('auth-token');
答案 0 :(得分:1)
简单的错误!您正在声明一个新的client
变量,该变量是未定义的,因为ready事件不会使用任何值回调。 .get
也不是一个函数。您正在寻找的是.fetch
,此函数返回一个可解析为频道的promise。这是您的新准备活动。
client.on('ready', () => {
client.channels.fetch('787667808777998851')
.then(channel => {
channel.send("Hello here!");
})
});
此外,请尽量不要在问题中发布您的机器人令牌。这非常危险,任何人都可以访问您的漫游器。