'use strict'; // Utils const { escapeHtml, scheduleDeletion } = require('../../utils/tg'); // DB const { listVisibleGroups } = require('../../stores/group'); const config = require('../../config'); const inline_keyboard = config.groupsInlineKeyboard; const reply_markup = JSON.stringify({ inline_keyboard }); const entry = group => group.username ? `- @${group.username}` : `- ${escapeHtml(group.title)}`; const groupsHandler = async ({ replyWithHTML }) => { if (config.groupsString) { return replyWithHTML(config.groupsString); } const groups = await listVisibleGroups(); const entries = groups.map(entry).join('\n'); return replyWithHTML(`🛠 Groups I manage:\n\n${entries}`, { disable_web_page_preview: true, reply_markup, }).then(scheduleDeletion); }; module.exports = groupsHandler;