-
Notifications
You must be signed in to change notification settings - Fork 0
/
utils.js
40 lines (35 loc) · 867 Bytes
/
utils.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
const config = require('./config');
const replyText = require('./replyText');
/**
* Проверяем пользователя на права
* @param userId {number}
* @returns {boolean}
*/
const isAdmin = (userId) => String(userId) === String(config.admin);
/**
* Перенаправляем админу от пользователя или уведомляем админа об ошибке
* @param ctx
*/
const forwardToAdmin = async (ctx) => {
if (isAdmin(ctx.message.from.id)) {
await ctx.reply(replyText.replyWrong);
} else {
await ctx.forwardMessage(config.admin, ctx.from.id, ctx.message.id);
}
};
/**
*
* @param {Object} data
* @return {string}
*/
const toJSON = (data) => JSON.stringify(data, (k, v) => {
if (v instanceof Set) {
return [...v];
}
return v;
}, 2);
module.exports = {
isAdmin,
forwardToAdmin,
toJSON,
};