- The client can now interact with the bot, this allows the client to offer bot controls via API - The master server will now be able to instruct a specific client to join a specific channel via channel ID (master server function coming soon) - Suppress some debug statements to make the output easier to read when mixed in with the client debug output
31 lines
997 B
JavaScript
31 lines
997 B
JavaScript
import {getVoiceConnection} from "@discordjs/voice";
|
|
import {replyToInteraction} from "../utilities/messageHandler.js";
|
|
// Debug
|
|
//import debugBuilder from "../utilities/moduleDebugBuilder.js";
|
|
//const log = new debugBuilder("bot", "leave");
|
|
|
|
/**
|
|
* If in a voice channel for the specified guild, leave
|
|
*
|
|
* @param interaction Message interaction from discord
|
|
* @param guildID
|
|
* @param callback
|
|
*/
|
|
export default async function leave({interaction = undefined, guildID= undefined, callback = undefined}) {
|
|
if(interaction) {
|
|
guildID = interaction.guild.id;
|
|
}
|
|
const voiceConnection = getVoiceConnection(guildID);
|
|
|
|
let response;
|
|
if (!voiceConnection){
|
|
response = "Not in a voice channel."
|
|
if (interaction) return replyToInteraction(interaction, response);
|
|
else callback(response);
|
|
}
|
|
voiceConnection.destroy();
|
|
|
|
response = "Goodbye"
|
|
if (interaction) return replyToInteraction(interaction, response);
|
|
else callback(response);
|
|
} |