2017-10-27 13:50:54 +02:00
|
|
|
'use strict';
|
|
|
|
|
|
|
|
const { Composer } = require('telegraf');
|
|
|
|
|
|
|
|
const composer = new Composer();
|
|
|
|
|
|
|
|
const adminHandler = require('./admin');
|
|
|
|
const unAdminHandler = require('./unadmin');
|
|
|
|
const leaveCommandHandler = require('./leave');
|
|
|
|
const warnHandler = require('./warn');
|
|
|
|
const unwarnHandler = require('./unwarn');
|
|
|
|
const nowarnsHandler = require('./nowarns');
|
|
|
|
const getWarnsHandler = require('./getwarns');
|
|
|
|
const banHandler = require('./ban');
|
|
|
|
const unbanHandler = require('./unban');
|
|
|
|
const reportHandler = require('./report');
|
|
|
|
const staffHandler = require('./staff');
|
|
|
|
const linkHandler = require('./link');
|
|
|
|
const groupsHandler = require('./groups');
|
|
|
|
const commandReferenceHandler = require('./commands');
|
|
|
|
const addCommandHandler = require('./addCommand');
|
|
|
|
const removeCommandHandler = require('./removeCommand');
|
|
|
|
const helpHandler = require('./help');
|
|
|
|
|
2017-10-29 17:46:52 +01:00
|
|
|
let { deleteCommands } = require('../../config.json');
|
|
|
|
|
|
|
|
if (typeof deleteCommands === 'undefined') {
|
|
|
|
deleteCommands = 'own';
|
|
|
|
} else if (![ 'all', 'own', 'none' ].includes(deleteCommands)) {
|
|
|
|
throw new Error('Invalid value for `deleteCommands` in `config.json`: ' +
|
|
|
|
deleteCommands);
|
|
|
|
}
|
|
|
|
|
|
|
|
const deleteMessage = ({ chat, message, telegram }, next) => {
|
|
|
|
if (deleteCommands === 'own' && chat.type !== 'private') {
|
|
|
|
telegram.deleteMessage(chat.id, message.message_id);
|
|
|
|
}
|
|
|
|
return next();
|
|
|
|
};
|
|
|
|
|
|
|
|
composer.command('admin', deleteMessage, adminHandler);
|
|
|
|
composer.command('unadmin', deleteMessage, unAdminHandler);
|
|
|
|
composer.command('leave', deleteMessage, leaveCommandHandler);
|
|
|
|
composer.command('warn', deleteMessage, warnHandler);
|
|
|
|
composer.command('unwarn', deleteMessage, unwarnHandler);
|
|
|
|
composer.command('nowarns', deleteMessage, nowarnsHandler);
|
|
|
|
composer.command('getwarns', deleteMessage, getWarnsHandler);
|
|
|
|
composer.command('ban', deleteMessage, banHandler);
|
|
|
|
composer.command('unban', deleteMessage, unbanHandler);
|
|
|
|
composer.command('report', deleteMessage, reportHandler);
|
|
|
|
composer.hears(/^@admins?\s?/i, deleteMessage, reportHandler);
|
|
|
|
composer.command('staff', deleteMessage, staffHandler);
|
|
|
|
composer.command('link', deleteMessage, linkHandler);
|
|
|
|
composer.command('groups', deleteMessage, groupsHandler);
|
|
|
|
composer.command('commands', deleteMessage, commandReferenceHandler);
|
|
|
|
composer.command('addcommand', deleteMessage, addCommandHandler);
|
|
|
|
composer.command('removecommand', deleteMessage, removeCommandHandler);
|
|
|
|
composer.command([ 'start', 'help' ], deleteMessage, helpHandler);
|
2017-10-27 13:50:54 +02:00
|
|
|
|
|
|
|
module.exports = composer;
|