const { codeBlock } = require("discord.js"); const fs = require('fs'); var path = require('node:path'); const { SlashCommandBuilder, Discord } = require('discord.js'); var abbreviationKey = require("../abbreviation_key.json"); module.exports = { data: new SlashCommandBuilder() .setName('list_phrases') .setDescription('Lists phrases in target phrases.'), async execute(interaction, client) { let replyDesc = "Here are the current phrases in the phrase list:"; let replyString = JSON.stringify(abbreviationKey.target_phrases, null, " "); if (replyString.length + replyDesc.length > 2000) { //await interaction.reply('Error: String is too big. Resultant output would be too big to send to Discord. (the output length was ' + (output.length + testLength.length) + " characters.)"); let filePath = writeFile(replyString); await interaction.reply({ content: replyDesc, files: [filePath] }); fs.unlinkSync(filePath); // Delete file once we're done with it } else { await interaction.reply(replyDesc + replyString); } console.log("User " + interaction.user.tag + " ran /list_phrases"); }, }; function writeFile(content) { //console.log(content); console.log("Attempting to write string to file..."); let filename = Date.now() + '.json'; console.log(filename); var filePath = path.join(__dirname, '..', filename); console.log(filePath); fs.writeFile(filePath, content, err => { if (err) { console.error(err); } }); return filePath; }