【问题标题】:Discord.js Music called from twitch bot issue finding voice channel从 twitch bot 调用 Discord.js 音乐问题找到语音频道
【发布时间】: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)

【问题讨论】:

    标签: javascript node.js discord.js


    【解决方案1】:

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

    【讨论】:

    • 哦,所以在第三个参数中,我可以只传递频道 ID
    • 看插件的代码,竟然没有出现这个函数中使用了第三个参数。
    • 似乎唯一可以使用 args 的时间是它在实际的不和谐消息中,而不是在 playFunction() 中强制使用
    猜你喜欢
    • 2017-06-22
    • 1970-01-01
    • 2019-07-31
    • 2021-11-21
    • 2020-09-22
    • 2020-11-04
    • 2020-10-07
    • 1970-01-01
    • 2020-08-04
    相关资源
    最近更新 更多