使用 DiscordJS 的音乐 Discord 机器人无法正常工作

Posted

技术标签:

【中文标题】使用 DiscordJS 的音乐 Discord 机器人无法正常工作【英文标题】:Music Discord bot using DiscordJS not working 【发布时间】:2018-03-27 06:16:26 【问题描述】:

我正在使用 Discord.JS 制作我自己的 discord 机器人,我想让它能够让你说“!音乐”以及一个 youtube 视频的链接供它播放,但经过反复测试经过许多调整,我不知何故让它停止工作。我检查了一下,其他关于机器人的东西都可以正常工作,只是音乐部分不行。

注意: 命令只是消息第一部分的字符串,arg1 是第一个参数 机器人是 Discord.client();

if(command === '!music') 
    var link = arg1
    const ytdl = require('ytdl-core');
    const streamOptions =  seek: 0, volume: 1 ;
    const broadcast = bot.createVoiceBroadcast();

    bot.voiceChannel.join()
      .then(connection => 
        const stream = ytdl(arg1,  filter : 'audioonly' );
        broadcast.playStream(stream);
        const dispatcher = connection.playBroadcast(broadcast);
      )
      .catch(console.error);

【问题讨论】:

我正在使用 discord.js,我也不知道为什么我的 gist 死了 我重新上传了要点gist.github.com/kittrz/34b39a0674bd25d99736a522035df852 同样的事情,你能不能也使用edit 将应用程序的构造函数添加到问题中? 你安装了音频库(node-opus)吗? 【参考方案1】:

我发现出了什么问题,当你执行不同的命令时,有一个大括号使它执行某些命令的 if 语句,所以我修复了这个问题,现在我遇到了一个新问题,它会说那个FFmpeg没有找到,我其实已经安装过了,就是看不出安装了。

【讨论】:

以上是关于使用 DiscordJS 的音乐 Discord 机器人无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章

Discord.js 音乐机器人加入然后离开

Discord JS 音乐机器人 - .message.member.voiceChannel.join() 不工作

如何使用 nodeJS 和 discordJS 更改 Discord 频道名称?

如何创建音乐机器人

在普通的 discord.js 上安装 discordjs/opus 有错误

如何使用 YTDL 和 discordjs/voice 包流式传输音乐。不和谐JS