“错误:找不到 FFMPEG”:简单的 Discord Bot 出现错误

Rob*_*bin 3 javascript ffmpeg node.js discord discord.js

我使用的是安装了 Node.js 和 npm 的 Windows(64 位)。在我的项目文件中,我运行了以下命令:

npm init
npm install discord.js --save
npm install ffmpeg --save
Run Code Online (Sandbox Code Playgroud)

现在我刚刚创建了一个基本机器人的代码,是主要代码。我在这里列出了重要的:

 if (message.content === '!play' && message.member.roles.has(message.guild.roles.find("name", config.role_name).id)) {
    if (!message.member.voiceChannel) return log("?");
       message.member.voiceChannel.join().then(function (connection){      
       });
 }
Run Code Online (Sandbox Code Playgroud)

然后,我在 Discord 中说了以下内容:

 [1517932146]  Musik bot loaded
    (node:35760) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 2): Error: FFMPEG not found
Run Code Online (Sandbox Code Playgroud)

我已经测试了以下内容:

  • 重新安装一切
  • 其他需要名称 etz
  • 简化代码

因此,如果您有任何想法,请告诉我。

解决方案

npm i ffmpeg-binaries@3.2.2-3
Run Code Online (Sandbox Code Playgroud)

关联

Sve*_*ven 5

您需要实际安装 ffmpeg,ffmpegNPM 上的模块只是为 ffmpeg 的命令行界面导出一个包装 API。

您可以从网站下载 ffmpeg 的二进制文件或使用包管理器(例如apt在 Ubuntu、brewMac 或chocoWindows 上),它通常负责将二进制文件放入PATH.

要安装windows使用choco. 请确保您运行cmd/windows powershell/ windows terminaladministrator否则它将在这里失败...

choco install ffmpeg

要安装在linux

sudo apt install ffmpeg