aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--commands/control.js36
-rw-r--r--commands/leave.js6
-rw-r--r--commands/skip.js7
-rw-r--r--commands/status.js13
-rw-r--r--deploy-command.js2
-rw-r--r--package.json8
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"