@getsolara/solara.voice
Version:
Optional voice functionality for @getsolara/solara.js using @discordjs/voice
23 lines (22 loc) • 1.28 kB
JavaScript
module.exports = {
name: "$voiceQueueAdd",
description: "Adds a song/URL to the voice queue (uses $voicePlay logic). Args: queryOrURL;[youtubeCookie?]",
takesBrackets: true,
execute: async (context, args) => {
if (context.client.voiceInitialized === false) {
return "[Error: $voiceQueueAdd requires voice features to be enabled. Ensure @getsolara/solara.voice is installed and configured correctly.]";
}
if (!args[0]) return "[Error: $voiceQueueAdd requires a query or URL]";
const query = args[0];
const cookie = args[1]?.trim() || "";
try {
const SQS = ";"; // Semicolon Quoted String for internal parsing
const escapedQuery = query.replace(/;/g, `\\${SQS}`).replace(/\[/g, `\\(`).replace(/\]/g, `\\)`);
const escapedCookie = cookie.replace(/;/g, `\\${SQS}`).replace(/\[/g, `\\(`).replace(/\]/g, `\\)`);
return await context.client.functionParser.parse(`$voicePlay[${escapedQuery};${escapedCookie}]`, context);
} catch (e) {
console.error(`Solara.voice Error ($voiceQueueAdd redirect to $voicePlay): ${e.message}`);
return `[Error using $voicePlay via $voiceQueueAdd: ${e.message}]`;
}
}
};