我正在使用安装了Node.js和npm的Ubuntu Linux(64位)。 在我的项目文件中,我运行了以下命令:
$ sudo npm install discord.js node-opus --save
$ sudo npm install discord.js-arbitrary-ffmpeg --save
$ sudo npm install ffmpeg --save
$ sudo npm install forever -g
$ sudo npm install forever-monitor
在这样做之后,我添加了一个eval函数,它只允许我运行我想要的任何命令。以下代码是:
if(message.content.toLowerCase().startsWith('^eval'){
try{
eval(message.content.substring(5));
}catch(e){
message.author.send(e);
}
return;
}
然后,在Discord中,我说以下内容:
^eval let vc = message.member.voiceChannel; vc.join();
理论上,这应该让我的机器人加入用户所在的任何语音通道,但由于某种原因,它表示找不到FFMPEG并抛出某种未处理的Promise错误。如您所见,我使用node-opus +任意ffmpeg安装了ffmpeg和discord.js。这是一个安装问题还是有一个JavaScript命令或我需要运行来解决这个问题?我查看了另外两个与此问题有关的SO问题,但他们的答案是基于Windows,而不是Ubuntu 16.04。谢谢。
在终端进入ffmpeg
会给你command not found: ffmpeg
吗?
如果是这样,您需要将ffmpeg目录添加到$ PATH。输入此内容并将其添加到〜/ .bashrc文件中。
export PATH=$PATH:<path where you installed ffmpeg>