javascript - 从 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:
解决方案
在discord.js-musicbot-addon
'splayFunction()
函数中,第一个参数是命令消息(来自 Discord),第二个是后缀/URL,第三个是参数。在您的代码中,您只是通过song
.
推荐阅读
- django - 如何使用 QuerySet 输出 CSV 文件
- spring-boot - 我正在尝试将 IBMMQ 与我的 Spring Boot 应用程序连接,但连接应该通过 spid(pki)。有人知道该怎么做吗?
- python - 自动编码器重建图像(输出)不清楚,因为我想要
- xslt - XSLT。将数字转换为印度格式
- c++ - 当类的成员存储为没有此类方法的父类的对象时,如何访问该类的成员?
- sonarqube - 如何在 sonarqube 中获取 scm 帐户搜索的代码行
- javascript - Bootstrap 手风琴在另一个打开时隐藏
- java - 调用 onClick 时出现“OutOfMemoryError”(崩溃报告)
- debugging - 为什么在加载附近的代码字节时会收到意外的“0xcc”字节?是因为段寄存器%es吗?
- python - 如何仅针对 Python 中的特定数字字符重新格式化字母数字字符串?