Skip to content

Commit b46edc8

Browse files
committed
Added jsdoc to some files
+ some minor refactoring
1 parent 3b166b2 commit b46edc8

File tree

6 files changed

+109
-65
lines changed

6 files changed

+109
-65
lines changed

.gitignore

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
node_modules
2-
data/*
2+
data/
33
config.json
4-
.env
4+
.env
5+
.idea/

handlers/middlewares/leaveUnmanaged.js

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,16 +23,23 @@ const inline_keyboard = [ [ {
2323

2424
const reply_markup = JSON.stringify({ inline_keyboard });
2525

26-
const gifs = [
27-
'https://media.giphy.com/media/xTk9ZBWrma4PIC9y4E/giphy.gif',
28-
'https://media.giphy.com/media/l2Sqc3POpzkj5r8SQ/giphy.gif',
29-
'https://media.giphy.com/media/StaMzjNkq5PqM/giphy.gif',
30-
'https://media.giphy.com/media/fjYDN5flDJ756/giphy.gif',
31-
'https://media.giphy.com/media/3XiQswSmbjBiU/giphy.gif',
32-
];
26+
const gifIds = ['xTk9ZBWrma4PIC9y4E', 'l2Sqc3POpzkj5r8SQ', 'StaMzjNkq5PqM', 'fjYDN5flDJ756', '3XiQswSmbjBiU' ];
3327

28+
const gifs = gifIds.map(x => `https://media.giphy.com/media/${x}/giphy.gif`);
29+
30+
31+
/**
32+
* @param {Array} [arr] An anonymous array
33+
* @returns {Number} A random number
34+
*/
3435
const randomChoice = arr => arr[Math.floor(Math.random() * arr.length)];
3536

37+
38+
/**
39+
* @param {TelegrafContext} ctx
40+
* @param {Function} next
41+
* @returns {Promise.<*>}
42+
*/
3643
const leaveUnmanagedHandler = async (ctx, next) => {
3744
if (ctx.chat.type === 'private' || await managesGroup(ctx.chat)) {
3845
return next();

index.js

Lines changed: 54 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -4,43 +4,66 @@
44
const { deleteAfter } = require('./utils/tg');
55
const { logError } = require('./utils/log');
66

7-
// Bot
7+
/**
8+
* @type {Telegraf}
9+
* Bot
10+
*/
811
const bot = require('./bot');
912

1013
bot.telegram.getMe().then((botInfo) => {
1114
bot.options.username = botInfo.username;
1215
});
1316

14-
// Middleware Handlers
15-
const leaveUnmanagedHandler = require('./handlers/middlewares/leaveUnmanaged');
16-
const removeCommandsHandler = require('./handlers/middlewares/removeCommands');
17-
const kickBannedHandler = require('./handlers/middlewares/kickBanned');
18-
const addUserHandler = require('./handlers/middlewares/addUser');
19-
const removeLinksHandler = require('./handlers/middlewares/removeLinks');
20-
const checkUsernameHandler = require('./handlers/middlewares/checkUsername');
21-
const addCustomCmdHandler = require('./handlers/middlewares/addCustomCmd');
22-
const runCustomCmdHandler = require('./handlers/middlewares/runCustomCmd');
23-
const antibotHandler = require('./handlers/middlewares/antibot');
24-
const addedToGroupHandler = require('./handlers/middlewares/addedToGroup');
2517

26-
// Commmands Handlers
27-
const adminHandler = require('./handlers/commands/admin');
28-
const unAdminHandler = require('./handlers/commands/unadmin');
29-
const leaveCommandHandler = require('./handlers/commands/leave');
30-
const warnHandler = require('./handlers/commands/warn');
31-
const unwarnHandler = require('./handlers/commands/unwarn');
32-
const nowarnsHandler = require('./handlers/commands/nowarns');
33-
const getWarnsHandler = require('./handlers/commands/getwarns');
34-
const banHandler = require('./handlers/commands/ban');
35-
const unbanHandler = require('./handlers/commands/unban');
36-
const reportHandler = require('./handlers/commands/report');
37-
const staffHandler = require('./handlers/commands/staff');
38-
const linkHandler = require('./handlers/commands/link');
39-
const groupsHandler = require('./handlers/commands/groups');
40-
const commandReferenceHandler = require('./handlers/commands/commands');
41-
const addCommandHandler = require('./handlers/commands/addCommand');
42-
const removeCommandHandler = require('./handlers/commands/removeCommand');
43-
const helpHandler = require('./handlers/commands/help');
18+
/**
19+
* @type {number}
20+
* Time in milliseconds after which join and leave messages should be deleted
21+
*/
22+
const delTimeout = 2 * 60 * 1000;
23+
24+
/**
25+
* @type {string}
26+
* Path of middlewares and commands
27+
*/
28+
const middleware = './handlers/middlewares',
29+
command = './handlers/commands';
30+
31+
/**
32+
* @type {function}
33+
* Middleware Handlers
34+
*/
35+
const leaveUnmanagedHandler = require(`${middleware}/leaveUnmanaged`),
36+
removeCommandsHandler = require(`${middleware}/removeCommands`),
37+
kickBannedHandler = require(`${middleware}/kickBanned`),
38+
addUserHandler = require(`${middleware}/addUser`),
39+
removeLinksHandler = require(`${middleware}/removeLinks`),
40+
checkUsernameHandler = require(`${middleware}/checkUsername`),
41+
addCustomCmdHandler = require(`${middleware}/addCustomCmd`),
42+
runCustomCmdHandler = require(`${middleware}/runCustomCmd`),
43+
antibotHandler = require(`${middleware}/antibot`),
44+
addedToGroupHandler = require(`${middleware}/addedToGroup`);
45+
46+
/**
47+
* @type {function}
48+
* Commmands Handlers
49+
*/
50+
const adminHandler = require(`${command}/admin`),
51+
unAdminHandler = require(`${command}/unadmin`),
52+
leaveCommandHandler = require(`${command}/leave`),
53+
warnHandler = require(`${command}/warn`),
54+
unwarnHandler = require(`${command}/unwarn`),
55+
nowarnsHandler = require(`${command}/nowarns`),
56+
getWarnsHandler = require(`${command}/getwarns`),
57+
banHandler = require(`${command}/ban`),
58+
unbanHandler = require(`${command}/unban`),
59+
reportHandler = require(`${command}/report`),
60+
staffHandler = require(`${command}/staff`),
61+
linkHandler = require(`${command}/link`),
62+
groupsHandler = require(`${command}/groups`),
63+
commandReferenceHandler = require(`${command}/commands`),
64+
addCommandHandler = require(`${command}/addCommand`),
65+
removeCommandHandler = require(`${command}/removeCommand`),
66+
helpHandler = require(`${command}/help`);
4467

4568
bot.on('new_chat_members', addedToGroupHandler);
4669
bot.use(leaveUnmanagedHandler);
@@ -52,7 +75,7 @@ bot.on('message', checkUsernameHandler);
5275
bot.on('message', addCustomCmdHandler);
5376
bot.on('message', runCustomCmdHandler);
5477
bot.on('new_chat_members', antibotHandler);
55-
bot.on([ 'new_chat_members', 'left_chat_member' ], deleteAfter(2 * 60 * 1000));
78+
bot.on([ 'new_chat_members', 'left_chat_member' ], deleteAfter(delTimeout));
5679
bot.command('admin', adminHandler);
5780
bot.command('unadmin', unAdminHandler);
5881
bot.command('leave', leaveCommandHandler);

package-lock.json

Lines changed: 25 additions & 25 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

utils/log.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,16 @@
22

33
const { inspect } = require('util');
44

5+
/**
6+
* @param {Error} err
7+
* Logs errors to console
8+
*/
59
const logError = err => console.error(err);
610

11+
/**
12+
* @param {Object} value
13+
* Echos the value of a value.
14+
*/
715
const print = value =>
816
console.log(inspect(value, { colors: true, depth: null }));
917

utils/tg.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,11 @@ const escapeHtml = s => s
66
const link = ({ id, first_name }) =>
77
`<a href="tg://user?id=${id}">${escapeHtml(first_name)}</a>`;
88

9+
/**
10+
* @param {number} ms
11+
* Deletes messages after (ms) milliseconds
12+
* @returns {undefined}
13+
*/
914
const deleteAfter = ms => ctx =>
1015
setTimeout(() =>
1116
ctx.telegram.deleteMessage(ctx.chat.id, ctx.message.message_id),

0 commit comments

Comments
 (0)