diff options
| -rw-r--r-- | commands/control.js | 36 | ||||
| -rw-r--r-- | commands/leave.js | 6 | ||||
| -rw-r--r-- | commands/skip.js | 7 | ||||
| -rw-r--r-- | commands/status.js | 13 | ||||
| -rw-r--r-- | deploy-command.js | 2 | ||||
| -rw-r--r-- | package.json | 8 |
6 files changed, 24 insertions, 48 deletions
diff --git a/commands/control.js b/commands/control.js deleted file mode 100644 index 435c102..0000000 --- a/commands/control.js +++ /dev/null @@ -1,36 +0,0 @@ -/************************************************************************** - * - * DLAP Bot: A Discord bot that plays local audio tracks. - * (C) Copyright 2022 - * Programmed by Andrew Lee - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <https://www.gnu.org/licenses/>. - * - ***************************************************************************/ - -import { SlashCommandBuilder } from '@discordjs/builders' -import { controlPanel } from '../AudioBackend.js' -import config from '../config.json' assert {type: 'json'} - -let runOnce = false - -export default { - data: new SlashCommandBuilder() - .setName('control') - .setDescription('Controlling the music'), - async execute(interaction, bot) { - if (![config.botOwner].includes(interaction.user.id)) return await interaction.reply({ content: "You do not have permissions to execute this command.", ephemeral: true }); - await controlPanel(interaction, bot); - }, -};
\ No newline at end of file diff --git a/commands/leave.js b/commands/leave.js index e1fa67d..5024488 100644 --- a/commands/leave.js +++ b/commands/leave.js @@ -20,13 +20,15 @@ ***************************************************************************/ import { SlashCommandBuilder } from '@discordjs/builders' +import { destroyAudio } from "../AudioBackend.js"; export default { data: new SlashCommandBuilder() .setName('leave') .setDescription('Leaves the voice chat'), async execute(interaction) { - - + console.log('Leaving voice channel...'); + await destroyAudio(interaction); + return await interaction.reply({content:'Leaving voice channel', ephemeral:true}); }, };
\ No newline at end of file diff --git a/commands/skip.js b/commands/skip.js index 11a0c83..4860209 100644 --- a/commands/skip.js +++ b/commands/skip.js @@ -20,12 +20,15 @@ ***************************************************************************/ import { SlashCommandBuilder } from '@discordjs/builders' +import { audio, player, searchAudio } from "../AudioBackend.js"; export default { data: new SlashCommandBuilder() .setName('skip') .setDescription('Skips the track'), - async execute(interaction) { - + async execute(interaction, bot) { + player.stop(); + await searchAudio(bot, interaction); + return await interaction.reply({content:`Skipping ${audio}`, ephemeral:true}); }, };
\ No newline at end of file diff --git a/commands/status.js b/commands/status.js index f36f994..804b046 100644 --- a/commands/status.js +++ b/commands/status.js @@ -20,13 +20,20 @@ ***************************************************************************/ import { SlashCommandBuilder } from '@discordjs/builders' -import { readdirSync, readdir } from 'fs' +import { MessageEmbed } from "discord.js"; +import { audio, playerState } from "../AudioBackend.js"; export default { data: new SlashCommandBuilder() .setName('status') .setDescription('Checks what audio file is playing currently'), - async execute(interaction) { - + async execute(interaction, bot) { + let controlEmbed = new MessageEmbed() + .setAuthor({name: `${bot.user.username} Status`, iconURL: bot.user.avatarURL()}) + .addField('State', playerState) + .addField('Currently Playing', audio) + //.addField('Next Music', '(a possible feature when queue system is implemented?)') + .setColor('#0066ff') + interaction.reply({embeds:[controlEmbed], ephemeral:true}) }, };
\ No newline at end of file diff --git a/deploy-command.js b/deploy-command.js index c85637f..9543f37 100644 --- a/deploy-command.js +++ b/deploy-command.js @@ -1,6 +1,6 @@ import fs from 'node:fs' import { REST } from '@discordjs/rest' -import { Routes } from 'discord-api-types/v9' +import { Routes } from 'discord-api-types/v10' import config from './config.json' assert {type: 'json'} const commands = []; diff --git a/package.json b/package.json index f97e909..91c8b01 100644 --- a/package.json +++ b/package.json @@ -8,11 +8,11 @@ "dev": "nodemon bot.js" }, "dependencies": { - "@discordjs/builders": "^0.12.0", + "@discordjs/builders": "^0.15.0", "@discordjs/opus": "^0.8.0", - "@discordjs/rest": "^0.3.0", - "@discordjs/voice": "^0.8.0", - "discord-api-types": "^0.30.0", + "@discordjs/rest": "^0.5.0", + "@discordjs/voice": "^0.10.0", + "discord-api-types": "^0.36.1", "discord.js": "^13.8.1", "ffmpeg-static": "^5.0.0", "libsodium-wrappers": "^0.7.10" |
