const { SlashCommandBuilder } = require('discord.js'); const { DebugBuilder } = require("../utilities/debugBuilder"); const log = new DebugBuilder("server", "start-record"); const { getAllConnections } = require("../utilities/mysqlHandler"); const { requestOptions, sendHttpRequest } = require("../utilities/httpRequests"); module.exports = { data: new SlashCommandBuilder() .setName('start-record') .setDescription('Starts recording all bots online'), example: "start-record", isPrivileged: false, requiresTokens: false, defaultTokenUsage: 0, deferInitialReply: false, async execute(interaction) { try{ await interaction.reply(`Ok, ${interaction.member}. **Recording** will begin shorting.`); // Get nodes online getAllConnections((connections) => { for (const connection of connections){ const reqOptions = new requestOptions("/bot/startRecording", "POST", connection.node.ip, connection.node.port); sendHttpRequest(reqOptions, JSON.stringify({}), async (responseObj) => { log.VERBOSE("Response Object from node: ", connection, responseObj); if (!responseObj || !responseObj.statusCode == 202 || !responseObj.statusCode == 204) return false; if (responseObj.statusCode >= 300) return log.ERROR(responseObj.body); // Bot is recording await interaction.channel.send(`**${connection.clientObject.name} is now recording**`); }); } }); }catch(err){ log.ERROR(err) //await interaction.reply(err.toString()); } } };