首页 > 解决方案 > 从 twitch bot 调用 Discord.js 音乐问题找到语音频道

问题描述

我的 discord.js 机器人可以在 Discord 本身中调用时播放音乐,但我有一个 twitch 机器人也编码到同一个实例中。通过 twitch调用play命令时,机器人由于没有频道信息而崩溃,有没有办法我可以获得不和谐的用户 ID 的频道信息,并让它加入该频道而不是由于语音频道未定义而崩溃。

我尝试让机器人抢先加入频道,尝试client.channel.get,尝试更改undefined库代码中的解决部分,但我在文档中找不到任何内容。

片段处理抽搐交互;

twitch_client.on('chat', (channel, user, message, self) => {
  if (message.startsWith('!play')) {
    song = message.replace(/!play /g, '');
    let channel = discord_client.channels.get('583035488655638528');
    discord_client.channels.get('573327430148947968').send('Sent from Twitch.');
    //channel.join()
    //.then(connection => console.log('Connected'))
    //.catch(console.error);
    discord_client.music.bot.playFunction(song);
  }
});

Discord 处理部分是默认的 discord.js-musicbot-addon

喊出

\node_modules\discord.js-musicbot-addon\index.js:405 if (msg.member.voiceChannel === undefined) { ^

TypeError:无法在客户端读取 Music.musicbot.playFunction (D:\Programming\DiscordTwitchBot\node_modules\discord.js-musicbot-addon\index.js:405:22) 处未定义的属性“voiceChannel”。(D:\Programming\DiscordTwitchBot\index.js:36:30) 在 client.EventEmitter.emit (D:\Programming\DiscordTwitchBot\node_modules\tmi.js\lib\events.js:101:25) 在 client.EventEmitter .emits (D:\Programming\DiscordTwitchBot\node_modules\tmi.js\lib\events.js:64:19) 在 client.handleMessage (D:\Programming\DiscordTwitchBot\node_modules\tmi.js\lib\client.js: 992:34) 在 D:\Programming\DiscordTwitchBot\node_modules\tmi.js\lib\client.js:1069:36 在 Array.forEach () 在 client._onMessage (D:\Programming\DiscordTwitchBot\node_modules\tmi.js \lib\client.js:1068:11) 在 WebSocket.onMessage (D:

标签: javascriptnode.jsdiscord.js

解决方案


discord.js-musicbot-addon'splayFunction()函数中,第一个参数是命令消息(来自 Discord),第二个是后缀/URL,第三个是参数。在您的代码中,您只是通过song.


推荐阅读