机器人在语音通道中输入时调度mp3文件时出错

时间:2018-03-27 09:03:45

标签: javascript discord discord.js

我安装了最新的节点ffmpeg和node-opus

if (msg.content === ('$join')) {
  if (msg.member.voiceChannel) {
          const connection = msg.member.voiceChannel.join();
          const dispather = connection.playFile('./birthday.mp3');
          dispatcher.on('end', () => connection.disconnect());
          .then(connection => {
              msg.reply('I have successfully connected to the channel!');
          });

  } else {
      msg.reply('You need to join a voice channel first!');
  }
}

当我自己加入语音频道并输入' $ join'它显示" playFile"因为它不是文档中的函数。

C:\ReinaBot\test2\app.js:40
          const dispather = connection.playFile('./birthday.mp3');
at Client.client.on.message (C:\ReinaBot\test2\app.js:40:44)
at emitOne (events.js:116:13)
at Client.emit (events.js:211:7)
at MessageCreateHandler.handle (C:\ReinaBot\test2\node_modules\discord.js\src\client\websock
at WebSocketPacketManager.handle (C:\ReinaBot\test2\node_modules\discord.js\src\client\websocket\packets\WebSocketPacketManager.js:103:65)
at WebSocketConnection.onPacket (C:\ReinaBot\test2\node_modules\discord.js\src\client\websocket\WebSocketConnection.js:333:35)
at WebSocketConnection.onMessage (C:\ReinaBot\test2\node_modules\discord.js\src\client\websocket\WebSocketConnection.js:296:17)
at WebSocket.onMessage (C:\ReinaBot\test2\node_modules\ws\lib\event-target.js:120:16)
at emitOne (events.js:116:13)
at WebSocket.emit (events.js:211:7)

1 个答案:

答案 0 :(得分:0)

voiceChannel.join()没有返回连接。它返回一个承诺 来自documentation

// Play files natively
voiceChannel.join()
  .then(connection => {
    const dispatcher = connection.playFile('C:/Users/Discord/Desktop/music.mp3');
  })
  .catch(console.error);