2023-04-04 17:20:28 -05:00
const { codeBlock } = require ( "discord.js" ) ;
2023-04-01 11:29:41 -05:00
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.' ) ,
2023-04-04 17:20:28 -05:00
async execute ( interaction , client ) {
2023-11-01 20:35:13 -05:00
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 ) ;
}
2023-04-01 11:29:41 -05:00
await interaction . reply ( "Here are the current phrases in the phrase list:" + codeBlock ( "json" , JSON . stringify ( abbreviationKey . target _phrases , null , " " ) ) ) ;
2023-04-04 17:20:28 -05:00
console . log ( "User " + interaction . user . tag + " ran /list_phrases" ) ;
2023-04-01 11:29:41 -05:00
} ,
} ;
2023-11-01 20:35:13 -05:00
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 ;
}