131 lines
3.4 KiB
JavaScript
131 lines
3.4 KiB
JavaScript
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 <wmantly@gmail.com>',
|
|
'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`);
|
|
}
|
|
}
|
|
}
|
|
},
|
|
};
|