2017-11-02 00:04:22 +03:30
|
|
|
'use strict';
|
|
|
|
|
|
|
|
// Utils
|
2017-11-05 22:10:52 +03:30
|
|
|
const { scheduleDeletion } = require('../../utils/tg');
|
2017-11-02 00:04:22 +03:30
|
|
|
|
|
|
|
// Bot
|
|
|
|
const { replyOptions } = require('../../bot/options');
|
|
|
|
|
|
|
|
// DB
|
2017-11-02 16:54:17 +01:00
|
|
|
const { getUser } = require('../../stores/user');
|
2017-11-02 00:04:22 +03:30
|
|
|
|
|
|
|
const getWarnsHandler = async ({ message, reply, state }) => {
|
|
|
|
const { isAdmin } = state;
|
|
|
|
|
|
|
|
const mentionedUser = message.reply_to_message
|
|
|
|
? message.reply_to_message.from
|
|
|
|
: message.commandMention
|
|
|
|
? message.commandMention
|
2017-11-02 15:30:54 +03:30
|
|
|
: state.user;
|
|
|
|
|
|
|
|
if (!isAdmin && mentionedUser.id !== state.user.id) return null;
|
2017-11-02 00:04:22 +03:30
|
|
|
|
|
|
|
const theUser = await getUser({ id: mentionedUser.id });
|
2017-11-05 20:41:31 +03:30
|
|
|
const { first_name, id, last_name, status, username, warns } = theUser;
|
|
|
|
|
|
|
|
const userName = `<b>Name:</b> <code>${first_name} ${last_name}</code>\n`;
|
|
|
|
const userId = `<b>ID:</b> <code>${id}</code>\n`;
|
|
|
|
const userStatus = `<b>Status:</b> <code>${status}</code>\n`;
|
|
|
|
const userUsername = username
|
|
|
|
? `<b>Username:</b> @${username}\n`
|
|
|
|
: '';
|
|
|
|
const banReason = theUser.ban_reason
|
|
|
|
? `\n🚫 <b>Ban reason:</b>\n<code>${theUser.ban_reason}</code>`
|
|
|
|
: '';
|
|
|
|
const userWarns = warns.length
|
|
|
|
? '\n<b>⚠️ Warns:</b>\n' + warns
|
2018-04-18 21:47:35 +02:00
|
|
|
.map((warn, i) => `${i + 1}. ${warn.reason || warn}`)
|
2017-11-05 20:41:31 +03:30
|
|
|
.join('\n') + '\n'
|
|
|
|
: '';
|
2017-11-02 00:04:22 +03:30
|
|
|
|
|
|
|
return reply(
|
2017-11-05 20:41:31 +03:30
|
|
|
userName +
|
|
|
|
userStatus +
|
|
|
|
userId +
|
|
|
|
userUsername +
|
|
|
|
userWarns +
|
|
|
|
banReason,
|
2017-11-02 00:04:22 +03:30
|
|
|
replyOptions
|
2018-11-20 11:47:30 +05:30
|
|
|
).then(scheduleDeletion());
|
2017-11-02 00:04:22 +03:30
|
|
|
};
|
|
|
|
|
|
|
|
module.exports = getWarnsHandler;
|