Fix update log

This commit is contained in:
2022-02-05 20:03:49 +03:00
parent 8350f897ee
commit abc6891156
2 changed files with 8 additions and 4 deletions

View File

@@ -1,6 +1,7 @@
import * as Sentry from '@sentry/node';
import { Context, Telegraf, Markup } from 'telegraf';
import moment from 'moment';
import { BotState } from '@/bots/manager';
@@ -101,9 +102,11 @@ export async function createApprovedBot(token: string, state: BotState): Promise
const arg = `${data[2]}_${data[3]}`;
const pMessage = await getPaginatedMessage(CallbackData.UPDATE_LOG_PREFIX, arg, page, allowedLangs, BookLibrary.getBooks, formatBook);
const header = `Обновление каталога (${moment(data[2]).format("DD.MM.YYYY")} - ${moment(data[3]).format("DD.MM.YYYY")}):\n\n`
await ctx.reply(pMessage.message, {
const pMessage = await getPaginatedMessage(`${CallbackData.UPDATE_LOG_PREFIX}${arg}_`, arg, page, allowedLangs, BookLibrary.getBooks, formatBook, header);
await ctx.editMessageText(pMessage.message, {
reply_markup: pMessage.keyboard.reply_markup
});
});

View File

@@ -1,4 +1,4 @@
import { Context, Markup, Telegraf, TelegramError } from 'telegraf';
import { Context, Markup, Telegraf } from 'telegraf';
import { InlineKeyboardMarkup } from 'typegram';
import { URLSearchParams } from 'url';
@@ -20,11 +20,12 @@ export async function getPaginatedMessage<T, D extends string | number>(
allowedLangs: string[],
itemsGetter: (data: D, page: number, allowedLangs: string[]) => Promise<BookLibrary.Page<T>>,
itemFormater: (item: T) => string,
header: string = ""
): Promise<PreparedMessage> {
const itemsPage = await itemsGetter(data, page, allowedLangs);
const formatedItems = itemsPage.items.map(itemFormater).join('\n\n\n');
const message = formatedItems + `\n\nСтраница ${page}/${itemsPage.total_pages}`;
const message = header + formatedItems + `\n\nСтраница ${page}/${itemsPage.total_pages}`;
const keyboard = getPaginationKeyboard(prefix, data, page, itemsPage.total_pages);