const { Command } = require('discord.js-commando'); const SelfReloadJSON = require('self-reload-json'); const blacklist = require('../../blacklist'); module.exports = class sayCommand extends Command { constructor(client) { super(client, { name: 'say', aliases: ['repeat'], group: 'fun', memberName: 'say', description: `Repeat the text you send ( can also use [verb] [noun] [adverb] [adjective] [member] and [number] to get random thing )`, args: [ { key: 'text', prompt: 'What do you want me to say', type: 'string', } ] }); } async run(message, { text }) { let blacklistJson = new SelfReloadJSON('json/blacklist.json'); if(blacklistJson[message.author.id]) return blacklist(blacklistJson[message.author.id] , message) // Load all the different files const verb = require('../../dictionary/verbs.json') const noun = require('../../dictionary/nouns.json') const adverb = require('../../dictionary/adjectives.json') const adjective = require('../../dictionary/adverbs.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\]/, adverb[randNumber(adverb)]) text = text.replace(/\[noun\]/, noun[randNumber(noun)]) text = text.replace(/\[adjective\]/, adjective[randNumber(adjective)]) text = text.replace(/\[member\]/, message.guild.members.random().user.username) text = text.replace(/\[number\]/, Math.floor((Math.random() * 9) + 1)) } while( text.includes('[verb]') || text.includes('[adverb]') || text.includes('[noun]') || text.includes('[adjective]') || text.includes('[member]') || text.includes('[number]') ) // Send the final text message.say(text); } };