'use strict'; // Utils const { scheduleDeletion } = require('../../utils/tg'); // Bot const { replyOptions } = require('../../bot/options'); // DB const { getUser } = require('../../stores/user'); const getWarnsHandler = async ({ message, reply, state }) => { const { isAdmin } = state; const mentionedUser = message.reply_to_message ? message.reply_to_message.from : message.commandMention ? message.commandMention : state.user; if (!isAdmin && mentionedUser.id !== state.user.id) return null; const theUser = await getUser({ id: mentionedUser.id }); const { first_name, id, last_name, status, username, warns } = theUser; const userName = `Name: ${first_name} ${last_name}\n`; const userId = `ID: ${id}\n`; const userStatus = `Status: ${status}\n`; const userUsername = username ? `Username: @${username}\n` : ''; const banReason = theUser.ban_reason ? `\n🚫 Ban reason:\n${theUser.ban_reason}` : ''; const userWarns = warns.length ? '\n⚠️ Warns:\n' + warns .map((warn, i) => `${i + 1}. ${warn.reason || warn}`) .join('\n') + '\n' : ''; return reply( userName + userStatus + userId + userUsername + userWarns + banReason, replyOptions ).then(scheduleDeletion); }; module.exports = getWarnsHandler;