const { Command } = require('discord-akairo'); class SayCommand extends Command { constructor() { super('say', { aliases: ['say'], category: 'general', split: 'none', args: [ { id: 'text', type: 'string', } ], description: { content: 'Repeat what you say but can also replace ', usage: '[text]', examples: ['[member] is a big [adverbs] [verb]'] } }); } async exec(message, args) { let text = args.text; // Load all the different files const verb = require('../../dictionary/verbs.json') const noun = require('../../dictionary/noun.json') const adjective = require('../../dictionary/adjectives.json') const adverbs = require('../../dictionary/adverbs.json') const activities = require('../../dictionary/activities.json') const celebreties = require('../../dictionary/celebreties.json') const countries = require('../../dictionary/countries.json') const diseases = require('../../dictionary/diseases.json') const elements = require('../../dictionary/elements.json') const hobbies = require('../../dictionary/hobbies.json') const music = require('../../dictionary/music.json') const prefixes = require('../../dictionary/prefixes.json') const pronouns = require('../../dictionary/pronouns.json') const states = require('../../dictionary/states.json') const titles = require('../../dictionary/titles.json') const units = require('../../dictionary/units.json') // Generate a random number function randNumber(file) { let Rand = Math.floor((Math.random() * file.length) + 1); return Rand; } // Replace with a random word from the json do { text = text.replace(/\[verb\]/, verb[randNumber(verb)]) text = text.replace(/\[adverb\]/, adverbs[randNumber(adverbs)]) text = text.replace(/\[noun\]/, noun[randNumber(noun)]) text = text.replace(/\[adjective\]/, adjective[randNumber(adjective)]) text = text.replace(/\[activity\]/, activities[randNumber(activities)]) text = text.replace(/\[celebrity\]/, celebreties[randNumber(celebreties)]) text = text.replace(/\[country\]/, countries[randNumber(countries)]) text = text.replace(/\[diseases\]/, diseases[randNumber(diseases)]) text = text.replace(/\[elements\]/, elements[randNumber(elements)]) text = text.replace(/\[hobbies\]/, hobbies[randNumber(hobbies)]) text = text.replace(/\[music\]/, music[randNumber(music)]) text = text.replace(/\[prefixes\]/, prefixes[randNumber(prefixes)]) text = text.replace(/\[pronoun\]/, pronouns[randNumber(pronouns)]) text = text.replace(/\[state\]/, states[randNumber(states)]) text = text.replace(/\[title\]/, titles[randNumber(titles)]) text = text.replace(/\[unit\]/, units[randNumber(units)]) text = text.replace(/\[member\]/, message.guild.members.random().user.username) text = text.replace(/\[number\]/, Math.floor((Math.random() * 9) + 1)) // Verify if it replaced everything } while( text.includes('[verb]') || text.includes('[adverbs]') || text.includes('[noun]') || text.includes('[adjective]') || text.includes('[member]') || text.includes('[number]') || text.includes('[activities]') || text.includes('[celebrities]') || text.includes('[countries]') || text.includes('[diseases]') || text.includes('[elements]') || text.includes('[hobbies]') || text.includes('[music]') || text.includes('[prefixes]') || text.includes('[pronoun]') || text.includes('[state]') || text.includes('[title]') || text.includes('[unit]')) // Send the final text return message.channel.send(text); } } module.exports = SayCommand;