从 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 调用 play
command 时,机器人由于没有频道信息而崩溃,有没有办法我可以获得不和谐的用户 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-addon
的playFunction()
函数中,第一个参数是命令消息(来自Discord),第二个是后缀/URL,第三个是参数。在您的代码中,您只是传递了song
。
【讨论】:
哦,所以在第三个参数中,我可以只传递频道 ID 看插件的代码,竟然没有出现这个函数中使用了第三个参数。 似乎唯一可以使用 args 的时间是它在实际的不和谐消息中,而不是在 playFunction() 中强制使用以上是关于从 twitch bot 调用 Discord.js 音乐问题找到语音频道的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Python Twitch IRC Bot 获取聊天消息参数?
Twitch API 集成到 Discord Bot - 更有效的方式?