Files
DRB-CnC/Client/commands/leave.js
Logan Cusano 3ddf9ea782 Update commands to use the new slash command builder
- Updated app js to remove Emmelia remnants
2023-03-26 15:18:58 -04:00

44 lines
1.3 KiB
JavaScript

const {getVoiceConnection} = require("@discordjs/voice");
const {replyToInteraction} = require("../utilities/messageHandler.js");
const { SlashCommandBuilder } = require('discord.js');
// Debug
const { DebugBuilder } = require("../utilities/debugBuilder.js");
const log = new DebugBuilder("client-bot", "leave");
module.exports = {
data: new SlashCommandBuilder()
.setName('leave')
.setDescription('Leave a voice channel'),
example: "leave",
isPrivileged: false,
async execute(interaction) {
await this.leave({ interaction: interaction })
}
}
/**
* If in a voice channel for the specified guild, leave
*
* @param interaction Message interaction from discord
* @param guildID
* @param callback
*/
exports.leave = 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);
}