module.exports = { 'help': { desc: `Print the allowed commands.`, async function(from){ console.log('called help', from) let intro = [ 'I am a bot owned and operated by', 'wmantly ', 'You have access to the following commands:' ] await this.whisper(from, ...intro, ...this.__reduceCommands(from).map(command => `${command} -- ${this.commands[command].desc || ''}` )); } }, 'say': { desc: `Make the bot say stuff in chat`, allowed: ['wmantly', 'useless666', 'tux4242',], ignoreLock: true, async function(from, ...messages){ await this.say((messages || []).join(' ')); } }, 'plugins': { desc: 'List the plugins', allowed: ['wmantly', 'useless666', 'tux4242',], ignoreLock: true, async function(from, botName){ if(botName){ if(botName in this.constructor.bots){ this.whisper(from, `${Object.keys(this.constructor.bots[botName].plunginsLoaded)}`) } } } }, 'unload': { desc: `Make bot unload plugin`, allowed: ['wmantly', 'useless666', 'tux4242',], ignoreLock: true, async function(from, botName, plugin) { this.whisper(from, `Unloading ${plugin}`); if(botName in this.constructor.bots){ let bot = this.constructor.bots[botName]; let status = await bot.pluginUnload(plugin); return this.whisper(from, `plugin status ${status}`); } this.whisper(from, '?') } }, 'load': { desc: `Make bot load/unload plugin`, allowed: ['wmantly', 'useless666', 'tux4242',], ignoreLock: true, async function(from, botName, plugin) { this.whisper(from, `Loading ${plugin}`); if(botName in this.constructor.bots){ let bot = this.constructor.bots[botName]; let status = await bot.pluginLoad(plugin); return this.whisper(from, `plugin status ${status}`); } this.whisper(from, '?') } }, 'guardian': { desc:'', allowed: ['wmantly', 'useless666', 'tux4242',], ignoreLock: true, async function(from, botName, action) { this.whisper(from, `Loading ${plugin}`); if(botName in this.constructor.bots){ let bot = this.constructor.bots[botName]; let status = await bot.pluginLoad(plugin); return this.whisper(from, `plugin status ${status}`); } this.whisper(from, '?') } }, 'ai': { desc: `Make bot load/unload plugin`, allowed: ['wmantly', 'useless666', 'tux4242',], ignoreLock: true, async function(from, botName, personality, ...custom) { if(botName in this.constructor.bots ){ let bot = this.constructor.bots[botName]; if(bot.isReady){ let status = await bot.pluginLoad('Ai', { promptName: personality, prompCustom: custom, }); return this.whisper(from, `plugin status ${status}`); } } this.whisper(from, '?') } }, 'logon': { desc: `Have bot log on for 10 seconds'`, allowed: ['wmantly', 'useless666', 'tux4242', 'pi_chef', '1_cut',], ignoreLock: true, async function(from, botName, time){ this.__unLockCommand(); if(botName in this.constructor.bots){ let bot = this.constructor.bots[botName]; if(!bot.isReady){ try{ await bot.connect(); var clear = setTimeout(()=> bot.quit(), time ? parseInt(time)*1000 : 10000); bot.whisper(from, 'I am ready') }catch(error){ console.log('inv error connecting to bot'); this.whisper(from, 'Bot is not available right now, try again in 30 seconds.'); } }else{ await this.whisper(from, `Bot ${bot.bot.entity.username} Already online`); } } } }, };