discord-player 停留在搜索查询上
discord-player stuck on search query
我在使用 discord-player 时遇到问题。当我执行 !play URL
时,它会加入我的频道,播放这首歌并且一切正常,但是当我没有传递 link 而是传递搜索查询时。 !play Despacito
,它被冻结,然后取消播放事件。到底是怎么回事?在 video 上,我有一个名为 NetLimiter4 的程序,它正在监视任何应用程序使用了多少带宽。您可以看到,当我输入 despacito 时,它会尝试搜索然后放弃,但是当我提供 link 时,它会开始播放。我检查了一切,我什至试图在播放器 class 中放置断点。根据我的观察,它尝试搜索查询,它成功了,但由于某种原因,它失败了。没有堆栈跟踪,什么都没有
import * as Discord from "discord.js";
import {Player} from "discord-player";
const client = new Discord.Client();
const player = new Player(client);
client.on("ready", ()=>{
console.log("ready");
})
client.on("message", async (message)=>{
let args = message.content.split(" ");
if(args[0] == "!play" && args[1]){
console.log("playin0");
await player.play(message, args[1]);
console.log("playing");
}else if(args[0] == "!stop"){
if(!player.isPlaying(message)) return message.channel.send("Can't stop playing nothing");
player.stop(message);
}
})
player.on("trackStart", (message, track) =>{
message.channel.send(`Started playing ${track.title}!`);
})
client.login("token");
您可能正在使用 v2 以上的 discord-player,是的 discord-player
内置了搜索功能,因此您需要添加此代码 -
player.on('searchResults', (message, query, tracks) => {
const embed = new Discord.MessageEmbed()
.setAuthor(`Search Reults`)
.setDescription(tracks.map((k, x) => `${x}. ${k.title}`))
.setFooter('Send the number of the song you want to play!')
message.channel.send(embed);
})
其中 x
是数字,k
属于 Track
class,现在一旦用户输入像 1
这样的数字,它就会开始播放歌曲!
我在使用 discord-player 时遇到问题。当我执行 !play URL
时,它会加入我的频道,播放这首歌并且一切正常,但是当我没有传递 link 而是传递搜索查询时。 !play Despacito
,它被冻结,然后取消播放事件。到底是怎么回事?在 video 上,我有一个名为 NetLimiter4 的程序,它正在监视任何应用程序使用了多少带宽。您可以看到,当我输入 despacito 时,它会尝试搜索然后放弃,但是当我提供 link 时,它会开始播放。我检查了一切,我什至试图在播放器 class 中放置断点。根据我的观察,它尝试搜索查询,它成功了,但由于某种原因,它失败了。没有堆栈跟踪,什么都没有
import * as Discord from "discord.js";
import {Player} from "discord-player";
const client = new Discord.Client();
const player = new Player(client);
client.on("ready", ()=>{
console.log("ready");
})
client.on("message", async (message)=>{
let args = message.content.split(" ");
if(args[0] == "!play" && args[1]){
console.log("playin0");
await player.play(message, args[1]);
console.log("playing");
}else if(args[0] == "!stop"){
if(!player.isPlaying(message)) return message.channel.send("Can't stop playing nothing");
player.stop(message);
}
})
player.on("trackStart", (message, track) =>{
message.channel.send(`Started playing ${track.title}!`);
})
client.login("token");
您可能正在使用 v2 以上的 discord-player,是的 discord-player
内置了搜索功能,因此您需要添加此代码 -
player.on('searchResults', (message, query, tracks) => {
const embed = new Discord.MessageEmbed()
.setAuthor(`Search Reults`)
.setDescription(tracks.map((k, x) => `${x}. ${k.title}`))
.setFooter('Send the number of the song you want to play!')
message.channel.send(embed);
})
其中 x
是数字,k
属于 Track
class,现在一旦用户输入像 1
这样的数字,它就会开始播放歌曲!