首页 > 解决方案 > 运行 javascript 代码时出错(Discord 音乐机器人) - OPUS_ENGINE_MISSING

问题描述

我正在尝试运行一个简单的不和谐机器人来播放音乐,该机器人完美地连接到频道,但是当它尝试播放音乐时,我收到了这个错误:

(node:3028) UnhandledPromiseRejectionWarning: Error: OPUS_ENGINE_MISSING

我的代码:

var servers = {};

function play(connection, message) {
    var server = servers[message.guild.id];

    server.dispatcher = connection.playStream(YTDL(server.queue[0], {filter: "audioonly"}));

    server.queue.shift();

    server.dispatch.on("end", function() {
        if(server.queue[0]) play(connection, message);
        else connection.disconnect();
    });
}

if(command === `${botSettings.prefix}play`)
{
    if(!args[0]) {
        message.channel.send("Please provide me a link!");
        return;
    }
    if(!message.member.voiceChannel) {
        message.channel.send("You must be in a voice channel!");
        return;
    }
    if(!servers[message.guild.id]) servers[message.guild.id] = {
        queue: []
    };

    var server = servers[message.guild.id];
    server.queue.push(args[0]);
    if(!message.guild.voiceConnection) message.member.voiceChannel.join().then(function(connection) {
        play(connection, message);
    });
}

标签: javascriptdiscorddiscord.js

解决方案


你可以像这样安装opusscript

npm i opusscript

但我听说 discord 更喜欢node-opus

npm i node-opus

希望这可以帮助


推荐阅读