diff --git a/commands/listPhrases.cjs b/commands/listPhrases.cjs index 46e2aff..192cf96 100644 --- a/commands/listPhrases.cjs +++ b/commands/listPhrases.cjs @@ -8,7 +8,34 @@ module.exports = { .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; +}