2017-10-27 13:50:54 +02:00
|
|
|
'use strict';
|
|
|
|
|
|
|
|
const { Composer } = require('telegraf');
|
|
|
|
|
|
|
|
const composer = new Composer();
|
|
|
|
|
|
|
|
const { deleteAfter } = require('../../utils/tg');
|
2017-11-24 15:20:08 +01:00
|
|
|
const { deleteJoinsAfter = '2 minutes' } = require('../../config');
|
2017-10-27 13:50:54 +02:00
|
|
|
|
2018-01-27 21:21:11 +01:00
|
|
|
const addedToGroupHandler = require('./addedToGroup');
|
|
|
|
const antibotHandler = require('./antibot');
|
2018-04-15 13:21:28 +02:00
|
|
|
const checkLinksHandler = require('./checkLinks');
|
2019-07-10 13:01:02 +02:00
|
|
|
const commandButtons = require('./commandButtons');
|
2018-01-27 21:21:11 +01:00
|
|
|
const kickBannedHandler = require('./kickBanned');
|
2018-01-28 17:17:47 +01:00
|
|
|
const kickedFromGroupHandler = require('./kickedFromGroup');
|
2017-10-27 13:50:54 +02:00
|
|
|
const leaveUnmanagedHandler = require('./leaveUnmanaged');
|
2018-05-04 15:48:07 +02:00
|
|
|
const removeChannelForwardsHandler = require('./removeChannelForwards');
|
2017-10-27 13:50:54 +02:00
|
|
|
const removeCommandsHandler = require('./removeCommands');
|
|
|
|
const syncStatusHandler = require('./syncStatus');
|
2018-01-27 21:21:11 +01:00
|
|
|
const updateUserDataHandler = require('./updateUserData');
|
2019-07-06 10:10:41 -04:00
|
|
|
const presenceLogHandler = require('./logPresence');
|
2018-04-02 17:07:32 +02:00
|
|
|
const updateGroupTitleHandler = require('./updateGroupTitle');
|
2017-10-27 13:50:54 +02:00
|
|
|
|
|
|
|
composer.on('new_chat_members', addedToGroupHandler);
|
2018-01-28 17:17:47 +01:00
|
|
|
composer.on('left_chat_member', kickedFromGroupHandler);
|
2017-10-27 13:50:54 +02:00
|
|
|
composer.use(leaveUnmanagedHandler);
|
2019-07-10 13:01:02 +02:00
|
|
|
composer.use(updateUserDataHandler);
|
2018-02-01 16:01:21 +01:00
|
|
|
composer.on('new_chat_members', syncStatusHandler, antibotHandler);
|
|
|
|
composer.on('message', kickBannedHandler);
|
2018-05-04 15:48:07 +02:00
|
|
|
composer.use(removeChannelForwardsHandler);
|
2018-04-15 13:21:28 +02:00
|
|
|
composer.on([ 'edited_message', 'message' ], checkLinksHandler);
|
2018-04-02 17:07:32 +02:00
|
|
|
composer.on('new_chat_title', updateGroupTitleHandler);
|
2018-02-01 16:01:21 +01:00
|
|
|
composer.on('text', removeCommandsHandler);
|
2017-10-27 13:50:54 +02:00
|
|
|
composer.on(
|
|
|
|
[ 'new_chat_members', 'left_chat_member' ],
|
2019-07-06 10:10:41 -04:00
|
|
|
deleteAfter(deleteJoinsAfter),
|
|
|
|
presenceLogHandler,
|
2017-10-31 23:08:22 +01:00
|
|
|
);
|
2019-07-10 13:01:02 +02:00
|
|
|
composer.on('callback_query', commandButtons);
|
2017-10-27 13:50:54 +02:00
|
|
|
|
|
|
|
module.exports = composer;
|