diff options
| author | Andrew Lee <alee14498@protonmail.com> | 2022-03-28 15:37:35 -0400 |
|---|---|---|
| committer | Andrew Lee <alee14498@protonmail.com> | 2022-03-28 15:37:35 -0400 |
| commit | 1a99bec57db0fe7dddddaf833ec9c8300470ad1d (patch) | |
| tree | 5f49ff9476a7340be05ebcecadece466de72985f /commands | |
| parent | 884e1acf7d3982e66f28dc2cd68e74325f704c6c (diff) | |
| download | DLAP-1a99bec57db0fe7dddddaf833ec9c8300470ad1d.tar.gz DLAP-1a99bec57db0fe7dddddaf833ec9c8300470ad1d.tar.bz2 DLAP-1a99bec57db0fe7dddddaf833ec9c8300470ad1d.zip | |
New command; Control command almost works
Diffstat (limited to 'commands')
| -rw-r--r-- | commands/control.js | 35 | ||||
| -rw-r--r-- | commands/list.js | 36 |
2 files changed, 64 insertions, 7 deletions
diff --git a/commands/control.js b/commands/control.js index 8db425c..42c168a 100644 --- a/commands/control.js +++ b/commands/control.js @@ -20,9 +20,12 @@ ***************************************************************************/ import { SlashCommandBuilder } from '@discordjs/builders' +import { getVoiceConnection } from "@discordjs/voice"; import { MessageEmbed, MessageActionRow, MessageButton } from 'discord.js' import { audio, player, playAudio } from '../AudioBackend.js' +import fs from 'fs' +let fileData; export default { data: new SlashCommandBuilder() @@ -31,8 +34,9 @@ export default { async execute(interaction, bot) { const controlEmbed = new MessageEmbed() .setAuthor({name:`${bot.user.username} Control Panel`, iconURL:bot.user.avatarURL()}) + .addField('State', 'Playing') .addField('Currently Playing', audio) - .addField('Next Music', '(a possible feature?)') + //.addField('Next Music', '(a possible feature when queue system is implemented?)') .setColor('#0066ff') const controlButtons = new MessageActionRow() @@ -55,17 +59,34 @@ export default { .setCustomId('leave') ); - const filter = i => i.customId === 'pause' && i.user.id === '242775871059001344'; - - const collector = interaction.channel.createMessageComponentCollector({ filter, time: 15000 }); + const collector = interaction.channel.createMessageComponentCollector(); collector.on('collect', async i => { + if (i.customId === 'play') { + player.unpause(); + await i.reply({content:'Resuming music', ephemeral:true}) + } if (i.customId === 'pause') { - await i.reply({content:'test'}) + player.pause(); + await i.reply({content:'Pausing music', ephemeral:true}) } - if (i.customId === 'skip') { - await i.reply + player.pause(); + await i.reply({content:`Skipping \`${audio}\`...`, ephemeral:true}) + playAudio(bot); + } + if (i.customId === 'leave') { + await i.reply({content:'Leaving voice channel.', ephemeral:true}) + console.log('Leaving voice channel...'); + fileData = "Now Playing: Nothing"; + fs.writeFile("now-playing.txt", fileData, (err) => { + if (err) + console.log(err); + }); + audio = "Not Playing"; + player.stop(); + const connection = getVoiceConnection(interaction.guild.id); + connection.destroy(); } }); diff --git a/commands/list.js b/commands/list.js new file mode 100644 index 0000000..3d88ca6 --- /dev/null +++ b/commands/list.js @@ -0,0 +1,36 @@ +/************************************************************************** + * + * DLMP3 Bot: A Discord bot that plays local MP3 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 fs from 'fs' +const musicFolder = './music'; + +export default { + data: new SlashCommandBuilder() + .setName('list') + .setDescription('Lists the available audio tracks'), + async execute(interaction) { + /* + fs.readdirSync(musicFolder).forEach(file => { + return interaction.reply('Listing the available audio tracks...\n' + file); + });*/ + }, +};
\ No newline at end of file |
