首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >discord.js DisTube错误:“CANNOT_RESOLVE_SONG”

discord.js DisTube错误:“CANNOT_RESOLVE_SONG”
EN

Stack Overflow用户
提问于 2022-08-24 13:09:15
回答 1查看 58关注 0票数 0

当我想跳过当前歌曲时,我会收到一个错误。我以前在队列中添加了一首歌,当我打印队列时,歌曲就在那里了。但是,当我想跳过时,我会收到以下错误:

代码语言:javascript
复制
E:\JavaScript\privatebot\node_modules\distube\dist\index.js:1330
    throw new DisTubeError("CANNOT_RESOLVE_SONG", song);
          ^

DisTubeError [CANNOT_RESOLVE_SONG]: Cannot resolve undefined to a Song
    at DisTubeHandler.resolve (E:\JavaScript\privatebot\node_modules\distube\dist\index.js:1330:11)
    at DisTube.play (E:\JavaScript\privatebot\node_modules\distube\dist\index.js:2244:33)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (node:internal/process/task_queues:96:5) {
  errorCode: 'CANNOT_RESOLVE_SONG'
}

这是我添加到队列的函数:

代码语言:javascript
复制
[...]
const song = event.options.getString("songname");
const voice = event.member.voice.channel;
if (!voice) {
    event.reply({content: "You have to be in a voice to do this!", ephemeral: true})
} else {
    const result = event.client.DisTube.search(song, {limit: 5, type: "video"});
    result.then(res => {
        const s = new Song(res[0], {source: "youtube"}); // Creating a Song object for the queue
        console.log(res[0]);

        // "addToQueue()" is NOT in the documentation of DisTube... But it works??
        const q = event.client.DisTube.getQueue(event.guild).addToQueue(s, 1);

    })
            
[...]

这是我的跳过功能:

代码语言:javascript
复制
[...]
     await event.client.DisTube.skip(event.guild).then((song) => {
        console.log(song.name)
     });
[...]

谢谢你的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-25 10:30:49

我发现了问题,这是事件"finishSong",有代码说,机器人应该播放什么.json文件,但没有另一首歌。所以队列可以工作,但我不明白为什么文档中没有addToQueue() .

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73473797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档