NoMoreAcronyms/commands/listPhrases.cjs

42 lines
1.8 KiB
JavaScript

const { codeBlock } = require("discord.js");
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 = codeBlock("json", 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: replyString, files: [filePath] });
fs.unlinkSync(filePath); // Delete file once we're done with it
} else {
await interaction.reply(replyDesc + replyString);
}
await interaction.reply("Here are the current phrases in the phrase list:" + codeBlock("json", JSON.stringify(abbreviationKey.target_phrases, null, " ")));
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() + '.txt';
console.log(filename);
var filePath = path.join(__dirname, '..', filename);
console.log(filePath);
fs.writeFile(filePath, content, err => {
if (err) {
console.error(err);
}
});
return filePath;
}