mirror of
https://github.com/thedevs-network/the-guard-bot
synced 2025-08-28 20:57:52 +00:00
Autodetect handlers in commands/index
This commit is contained in:
parent
6ee5593520
commit
cb41e47757
@ -1,5 +1,7 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
|
const requireDir = require('require-directory');
|
||||||
|
const R = require('ramda');
|
||||||
const { Router } = require('telegraf');
|
const { Router } = require('telegraf');
|
||||||
|
|
||||||
const routingFn = require('./routingFn');
|
const routingFn = require('./routingFn');
|
||||||
@ -8,44 +10,8 @@ const router = new Router(routingFn);
|
|||||||
|
|
||||||
module.exports = router;
|
module.exports = router;
|
||||||
|
|
||||||
const adminHandler = require('./admin');
|
const exclude = (_, filename) => filename === 'routingFn.js';
|
||||||
const unAdminHandler = require('./unadmin');
|
const rename = R.toLower;
|
||||||
const leaveCommandHandler = require('./leave');
|
|
||||||
const hideGroupHandler = require('./hideGroup');
|
|
||||||
const showGroupHandler = require('./showGroup');
|
|
||||||
const warnHandler = require('./warn');
|
|
||||||
const unwarnHandler = require('./unwarn');
|
|
||||||
const nowarnsHandler = require('./nowarns');
|
|
||||||
const userHandler = require('./user');
|
|
||||||
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');
|
|
||||||
|
|
||||||
router.on('admin', adminHandler);
|
const handlers = requireDir(module, { exclude, rename });
|
||||||
router.on('unadmin', unAdminHandler);
|
router.handlers = new Map(Object.entries(handlers));
|
||||||
router.on('leave', leaveCommandHandler);
|
|
||||||
router.on('hidegroup', hideGroupHandler);
|
|
||||||
router.on('showgroup', showGroupHandler);
|
|
||||||
router.on('warn', warnHandler);
|
|
||||||
router.on('unwarn', unwarnHandler);
|
|
||||||
router.on('nowarns', nowarnsHandler);
|
|
||||||
router.on('user', userHandler);
|
|
||||||
router.on('ban', banHandler);
|
|
||||||
router.on('unban', unbanHandler);
|
|
||||||
router.on('report', reportHandler);
|
|
||||||
router.on('staff', staffHandler);
|
|
||||||
router.on('link', linkHandler);
|
|
||||||
router.on('groups', groupsHandler);
|
|
||||||
router.on('commands', commandReferenceHandler);
|
|
||||||
router.on('addcommand', addCommandHandler);
|
|
||||||
router.on('replacecommand', addCommandHandler);
|
|
||||||
router.on('removecommand', removeCommandHandler);
|
|
||||||
router.on('start', helpHandler);
|
|
||||||
router.on('help', helpHandler);
|
|
||||||
|
4
handlers/commands/replaceCommand.js
Normal file
4
handlers/commands/replaceCommand.js
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
'use strict';
|
||||||
|
|
||||||
|
// "clone" the function (https://stackoverflow.com/a/6772648)
|
||||||
|
module.exports = require('./addCommand').bind();
|
4
handlers/commands/start.js
Normal file
4
handlers/commands/start.js
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
'use strict';
|
||||||
|
|
||||||
|
// "clone" the function (https://stackoverflow.com/a/6772648)
|
||||||
|
module.exports = require('./help').bind();
|
5
package-lock.json
generated
5
package-lock.json
generated
@ -1155,6 +1155,11 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"require-directory": {
|
||||||
|
"version": "2.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
|
||||||
|
"integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I="
|
||||||
|
},
|
||||||
"require-uncached": {
|
"require-uncached": {
|
||||||
"version": "1.0.3",
|
"version": "1.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz",
|
||||||
|
@ -35,6 +35,7 @@
|
|||||||
"nedb-promise": "^2.0.1",
|
"nedb-promise": "^2.0.1",
|
||||||
"node-fetch": "^2.1.2",
|
"node-fetch": "^2.1.2",
|
||||||
"ramda": "^0.25.0",
|
"ramda": "^0.25.0",
|
||||||
|
"require-directory": "^2.1.1",
|
||||||
"telegraf": "^3.17.8",
|
"telegraf": "^3.17.8",
|
||||||
"xregexp": "^4.0.0"
|
"xregexp": "^4.0.0"
|
||||||
},
|
},
|
||||||
|
Loading…
x
Reference in New Issue
Block a user