从 twitch bot 调用 Discord.js 音乐问题找到语音频道

Posted

技术标签:

【中文标题】从 twitch bot 调用 Discord.js 音乐问题找到语音频道【英文标题】:Discord.js Music called from twitch bot issue finding voice channel 【发布时间】:2019-10-22 13:16:49 【问题描述】:

我的 discord.js 机器人在 Discord 本身中调用时可以播放音乐,但我有一个 twitch 机器人也编码到同一个实例中。 当通过 twitch 调用 playcommand 时,机器人由于没有频道信息而崩溃,有没有办法我可以获得不和谐的用户 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 如果(msg.member.voiceChannel === 未定义) ^

TypeError:无法读取未定义的属性“voiceChannel” 在 Music.musicbot.playFunction (D:\Programming\DiscordTwitchBot\node_modules\discord.js-musicbot-addon\index.js:405:22) 在客户端。 (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:\Programming\DiscordTwitchBot\node_modules\ws\lib\event-target.js:120:16) 在 WebSocket.emit (events.js:200:13)

【问题讨论】:

【参考方案1】:

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

【讨论】:

哦,所以在第三个参数中,我可以只传递频道 ID 看插件的代码,竟然没有出现这个函数中使用了第三个参数。 似乎唯一可以使用 args 的时间是它在实际的不和谐消息中,而不是在 playFunction() 中强制使用

以上是关于从 twitch bot 调用 Discord.js 音乐问题找到语音频道的主要内容,如果未能解决你的问题,请参考以下文章

在 Twitch bot 中添加帐户和更加用户友好的集成

如何使用 Python Twitch IRC Bot 获取聊天消息参数?

Twitch API 集成到 Discord Bot - 更有效的方式?

Python 3 Twitch IRC bot 接收 Python 或错误代码的消息限制?

使用 Discord.J 编辑嵌入字段

如何从 PHP 文件启动 Node.js