47 lines
1.6 KiB
JavaScript
47 lines
1.6 KiB
JavaScript
const { SlashCommandBuilder } = require('discord.js');
|
|
var abbreviationKey = require("../abbreviation_key.json");
|
|
const fs = require('node:fs');
|
|
var path = require('node:path');
|
|
//console.log(abbreviationKey);
|
|
|
|
module.exports = {
|
|
data: new SlashCommandBuilder()
|
|
.setName("add_phrase")
|
|
.setDescription("adds abbreviation to respond to")
|
|
.addStringOption( (option) =>
|
|
option.setName("abbreviation")
|
|
.setDescription("The abbreviation to target")
|
|
.setRequired(true)
|
|
)
|
|
.addStringOption( option =>
|
|
option.setName('phrase')
|
|
.setDescription("The phrase that the abbreviation shortens")
|
|
.setRequired(true)
|
|
),
|
|
async execute(interaction, client) {
|
|
var abbreviation = interaction.options.getString('abbreviation').toLowerCase();
|
|
var phrase = interaction.options.getString('phrase');
|
|
await interaction.reply('Adding abbreviation `' + abbreviation + "` to target list. This will complete to the phrase `" + phrase + "`");
|
|
addPhrase(abbreviation, phrase);
|
|
},
|
|
};
|
|
|
|
function addPhrase(abbrevation, phrase) {
|
|
console.log(abbrevation, phrase);
|
|
abbreviationKey.target_phrases[abbrevation] = phrase;
|
|
console.log(abbreviationKey);
|
|
|
|
// Write data to file
|
|
var jsonString = JSON.stringify(abbreviationKey);
|
|
try {
|
|
//console.log(fs.existsSync("../abbreviation_key.json"));
|
|
var jsonPath = path.join(__dirname, '..', 'abbreviation_key.json');
|
|
fs.unlinkSync(jsonPath);
|
|
fs.writeFileSync(jsonPath, jsonString, { encoding: 'utf8' }, "\t");
|
|
console.log("Added Phrase to list. JSON now contains:" + abbreviationKey);
|
|
} catch (err) {
|
|
console.error(err);
|
|
}
|
|
|
|
|
|
} |