This commit is contained in:
tkrmagid-desktop
2026-04-11 14:22:48 +09:00
parent b329ccc03b
commit 4037afeb68
12 changed files with 200 additions and 86 deletions

View File

@@ -1,4 +1,4 @@
import { Connectors, LoadType, Shoukaku } from "shoukaku";
import { Connectors, LoadType, Shoukaku, Track } from "shoukaku";
import { Client } from "discord.js";
import { GuildPlayer } from "./GuildPlayer";
import { Config } from "../utils/Config";
@@ -80,4 +80,14 @@ export class LavalinkManager {
return;
}
}
public async youtubeSearch(query: string): Promise<Track[]> {
const node = this.shoukaku.options.nodeResolver(this.shoukaku.nodes);
if (!node) throw new ReferenceError(`[LavalinkManager] lavalink node is missing`);
const result = await node.rest.resolve(`ytsearch:${query.trim()}`);
// if (!result || result.loadType === LoadType.EMPTY || result.loadType === LoadType.ERROR) return [];
if (result?.loadType === LoadType.TRACK) return [ result.data ];
if (result?.loadType === LoadType.SEARCH) return result.data;
return [];
}
}