我怀疑我的代码有问题,但我不知道。
const Discord = require('discord.js');
const client = new Discord.Client();
const config = require('./config.json');
client.once('ready', () => {
console.log('Bot online!');
});
client.on('message', async message => {
if(message.content.voice.channel) {
const connection = await message.member.voice.channel.join();
const dispatcher = connection.playFile(require("path").join(__dirname, './audio.mp3'));
dispatcher.on('start', () => {
console.log('Now playing!');
});
dispatcher.on('finish', () => {
console.log('Finished playing!');
voiceChannel.leave();
});
dispatcher.on('error', console.error);
}
});
client.login(config.TOKEN);
我收到错误:
<块引用>UnhandledPromiseRejectionWarning: TypeError: 无法读取属性
未定义的“频道”
在客户端。 (C:\Users\djd18\Desktop\Bot\index.js:10:30)
在 Client.emit (events.js:315:20)
在 MessageCreateAction.handle (C:\Users\djd18\Desktop\Bot\node_modules\discord.js\src\client\actions\MessageCreate.js:31:14)
在 Object.module.exports [as MESSAGE_CREATE] (C:\Users\djd18\Desktop\Bot\node_modules\discord.js\src\client\websocket\handlers\MESSAGE_CREATE.js:4:32)
在 WebSocketManager.handlePacket (C:\Users\djd18\Desktop\Bot\node_modules\discord.js\src\client\websocket\WebSocketManager.js:384:31)
在 WebSocketShard.onPacket (C:\Users\djd18\Desktop\Bot\node_modules\discord.js\src\client\websocket\WebSocketShard.js:444:22)
在 WebSocketShard.onMessage (C:\Users\djd18\Desktop\Bot\node_modules\discord.js\src\client\websocket\WebSocketShard.js:301:10)
在 WebSocket.onMessage (C:\Users\djd18\Desktop\Bot\node_modules\ws\lib\event-target.js:132:16)
在 WebSocket.emit (events.js:315:20)
在 Receiver.receiverOnMessage (C:\Users\djd18\Desktop\Bot\node_modules\ws\lib\websocket.js:825:20)
(使用 node --trace-warnings ...
显示警告的位置
创建)(节点:16536)未处理的承诺拒绝警告:未处理
承诺拒绝。此错误源于抛出内部
没有 catch 块的异步函数,或者通过拒绝承诺
这不是用 .catch() 处理的。终止节点进程
未处理的承诺拒绝,使用 CLI 标志
--unhandled-rejections=strict
(见
https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode)。
(rejection id: 1) (node:16536) [DEP0018] DeprecationWarning: Unhandled
不推荐使用承诺拒绝。在未来,承诺拒绝
未处理的将终止 Node.js 进程
非零退出代码。