Skip to content

Плагин автоматического ответа на запросы обратного вызова

npmJSRJSR Score

Этот плагин автоматически отвечает на события callback_query методом answerCallbackQuery, если вы этого еще не сделали.

Установка

bash
npm install @gramio/auto-answer-callback-query
bash
yarn add @gramio/auto-answer-callback-query
bash
pnpm add @gramio/auto-answer-callback-query
bash
bun install @gramio/auto-answer-callback-query
ts
import { Bot, InlineKeyboard } from "gramio";
import { autoAnswerCallbackQuery } from "@gramio/auto-answer-callback-query";

const bot = new Bot(process.env.BOT_TOKEN as string)
    .extend(autoAnswerCallbackQuery())
    .command("start", (context) =>
        context.send("Привет!", {
            reply_markup: new InlineKeyboard()
                .text("тест", "test")
                .text("тест2", "test2"),
        })
    )
    .callbackQuery("test", () => {
        // Плагин вызовет метод answerCallbackQuery, так как вы его не вызвали
        return context.send("Привет");
    })
    .callbackQuery("test2", (context) => {
        // вы уже ответили, поэтому плагин не будет пытаться ответить
        return context.answer("ПРИВЕТ");
    });

Параметры

Вы можете передать параметры для метода answerCallbackQuery

ts
bot.extend(
    autoAnswerCallbackQuery({
        text: "Автоматический ответ",
        show_alert: true,
    })
);

IMPORTANT

Этот плагин перехватывает методы context.answerCallbackQuerycontext.answer), чтобы понять, был ли уже отправлен ответ на запрос обратного вызова. Старайтесь не использовать напрямую метод bot.api.answerCallbackQuery в контексте - это может помешать корректной работе плагина.