1.0.4 • Published 4 years ago
comander-core v1.0.4
comander-core - это ядро для вашего обработчика команд, основан на cocoscore, написан на Node.js
Установка
NPM
npm i comander-core
Использование
Пример основан на vk-io, вы можете использовать другое
const { Handler } = require('comander-core');
const { VK } = require('vk-io');
const TOKEN = process.env.TOKEN
const GROUP_ID = process.env.GROUP_ID
const vk = new VK({token: TOKEN})
const params = {
getUnix() {
return Date.now()
}
}
const developerIds = [process.env.developerIds];
const handler = new Handler({
commandsDir: './commands',
developerIds,
...params
})
handler.listener.on('command_error', async(context, bot, error) =>{
context.send(`Произошла непредвиденная ошибка`)
if(bot.developerIds) {
message.send({
user_ids: bot.DeveloperIds,
message: `Ошибка в команде ${bot.command.name}:
${message.senderId} => ${message.command}
${error.stack}`
})
}
})
vk.updates.on('message', async(context, next)=>{
if(context.isGroup) return;
let reg = new RegExp(`/\[club${GROUP_ID}\]/i`);
if(reg.test(context.text)) context.text = context.text.replace(reg, '').trim();
await handler.handler(context);
})
vk.updates.start()
.then(x=>{
console.log('Старт')
})
Пример команды
const { Command } = require('comander-core');
module.exports = new Command({
patern: /^(?:test)$/i,
name: 'тест',
disc: 'проверка работоспособности',
params: {
type: 'test'
},
async handler(context, bot) {
context.send('успех');
}
})