diff --git a/src/Client.ts b/src/Client.ts index 1b7e14c..7e29d4a 100644 --- a/src/Client.ts +++ b/src/Client.ts @@ -37,6 +37,13 @@ class RadioClient extends Client { this.funcs.msToTime = require("./client/funcs/msToTime.js"); this.funcs.statisticsUpdate = require("./client/funcs/statisticsUpdate.js"); + console.log('RadioX ' + this.config.version); + console.log('Internet Radio to your Discord guild'); + console.log('(c)2020-2021 EximiaBots by Warén Group'); + console.log(''); + + this.funcs.logger("Bot", "Starting"); + const commandFiles = fs.readdirSync(path.join("./src/client/commands")).filter(f => f.endsWith(".js")); for (const file of commandFiles) { const command = require(`./client/commands/${file}`); @@ -64,6 +71,10 @@ class RadioClient extends Client { require(`${events}voiceStateUpdate`).execute(this, oldState, newState); }); + process.on('SIGINT', () => { + require(`${events}SIGINT`).execute(this); + }); + this.on("error", error => { console.error(error); }); diff --git a/src/client/events/SIGINT.js b/src/client/events/SIGINT.js new file mode 100644 index 0000000..3debd5d --- /dev/null +++ b/src/client/events/SIGINT.js @@ -0,0 +1,46 @@ +import Discord from "discord.js"; + +module.exports = { + name: 'SIGINT', + async execute(client) { + /*setTimeout(function () { + let message = {}; + + if (!client.stations) return process.exit(); + + let currentRadios = client.radio.keys(); + let radio = currentRadios.next(); + let stoppedRadios = ""; + client.user.setStatus('idle'); + + while (!radio.done) { + + let currentRadio = client.radio.get(radio.value); + currentRadio.guild = client.datastore.getEntry(radio.value).guild; + + if (currentRadio) { + client.funcs.statisticsUpdate(client, currentRadio.guild, currentRadio); + currentRadio.connection?.destroy(); + currentRadio.audioPlayer?.stop(); + currentRadio.message?.delete(); + const cembed = new Discord.MessageEmbed() + .setTitle(client.messages.maintenanceTitle) + .setThumbnail("https://cdn.discordapp.com/emojis/" + client.messageEmojis["maintenance"].replace(/[^0-9]+/g, '')) + .setColor(client.config.embedColor) + .setDescription(client.messages.sendedMaintenanceMessage) + .setFooter(client.messages.footerText, "https://cdn.discordapp.com/emojis/" + client.messageEmojis["eximiabots"].replace(/[^0-9]+/g, '')); + currentRadio.textChannel.send({ embeds: [cembed] }); + client.radio.delete(radio.value); + stoppedRadios += "-" + radio.value + ": " + currentRadio.guild.name + "\n"; + } + radio = currentRadios.next(); + } + + console.log("\n"); + client.funcs.logger("Bot", "Closing"); + console.log("\n");*/ + + process.exit(); + /*}, 5000);*/ + } +} \ No newline at end of file