2017-10-27 13:50:54 +02:00
|
|
|
'use strict';
|
|
|
|
|
2017-11-24 15:20:08 +01:00
|
|
|
const millisecond = require('millisecond');
|
2017-10-27 13:50:54 +02:00
|
|
|
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');
|
|
|
|
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');
|
|
|
|
const removeCommandsHandler = require('./removeCommands');
|
|
|
|
const syncStatusHandler = require('./syncStatus');
|
2018-01-27 21:21:11 +01:00
|
|
|
const updateUserDataHandler = require('./updateUserData');
|
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);
|
2018-02-01 16:01:21 +01:00
|
|
|
composer.on('message', updateUserDataHandler);
|
|
|
|
composer.on('new_chat_members', syncStatusHandler, antibotHandler);
|
|
|
|
composer.on('message', kickBannedHandler);
|
|
|
|
composer.on('text', removeCommandsHandler);
|
2017-10-27 13:50:54 +02:00
|
|
|
composer.on(
|
|
|
|
[ 'new_chat_members', 'left_chat_member' ],
|
2017-11-24 15:20:08 +01:00
|
|
|
deleteJoinsAfter === false
|
|
|
|
? Composer.passThru
|
|
|
|
: deleteAfter(millisecond(deleteJoinsAfter))
|
2017-10-31 23:08:22 +01:00
|
|
|
);
|
2017-10-27 13:50:54 +02:00
|
|
|
|
|
|
|
module.exports = composer;
|