40 lines
1.7 KiB
JavaScript
40 lines
1.7 KiB
JavaScript
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;
|
|
}
|