инлайн-кнопка "назад " для телеграм на aiogram 3.12 не работает
import time # Для задержки
import logging
import asyncio
import requests
import re
import psycopg2
from psycopg2.extras import DictCursor
from apscheduler.schedulers.asyncio import AsyncIOScheduler
from aiogram import Bot, Dispatcher, types
from aiogram.filters import Command
from aiogram.types import InlineKeyboardButton, InlineKeyboardMarkup
from aiogram.utils.keyboard import InlineKeyboardBuilder
from aiogram import F
from aiogram.client.bot import DefaultBotProperties
# Команда /help для callback (инлайн-кнопка "Назад")
async def help_command_callback(callback: types.CallbackQuery):
help_text = (
"<b>Главное меню:</b>\n"
"Команды:\n"
"<b>start </b> Старт\n"
"<b>change </b> Изменение зарегистрированных данных\n"
"<b>short </b> Включить краткий режим\n"
"<b>full </b> Включить полный режим\n"
"<b>support</b> Написать в поддержку\n"
)
# Создаем инлайн-клавиатуру с действиями
builder = InlineKeyboardBuilder()
# Добавляем кнопки с callback_data
builder.button(text="Регистрация", callback_data="action:start")
builder.button(text="Изменение данных", callback_data="action:change")
builder.button(text="Полный режим уведомлений", callback_data="action:full")
builder.button(text="Краткий режим уведомлений", callback_data="action:short")
builder.button(text="Справка", callback_data="action:description")
builder.button(text="Написать в поддержку", url="https://t.me/TrueSale_Support")
# Используем adjust(2) для того чтобы каждые две кнопки были в одном ряду
builder.adjust(2)
# Логируем отправку клавиатуры
logger.info("Клавиатура создана и отправлена пользователю через callback")
# Отправляем сообщение с инлайн-кнопками
await callback.message.edit_text(help_text, reply_markup=builder.as_markup())
# Функция для показа описания с кнопкой "Назад"
async def show_description(callback: types.CallbackQuery):
description_text = (
"<b>Описание функций бота:</b>\n"
"Этот бот помогает что-то сделать"
)
# Логируем отправку описания
logger.info("Отправлено описание с кнопкой 'Назад'")
# Создаем кнопку "Назад"
back_button = InlineKeyboardMarkup(inline_keyboard=[
[InlineKeyboardButton(text="Назад", callback_data="action:help_command_callback")]
])
# Отправляем сообщение с описанием и кнопкой "Назад"
await callback.message.edit_text(description_text, reply_markup=back_button)
# Хендлер для обработки кнопки "Назад"
@dp.callback_query(F.data == "action:help_command_callback")
async def process_back_to_help(callback: types.CallbackQuery):
# Логируем нажатие кнопки назад
logger.info(f"Нажата кнопка 'Назад', обработка callback_data: {callback.data}")
await help_command_callback(callback)
await callback.answer() # Подтверждаем обработку
Не отрабатывает нажатие на кнопку "Назад" (возврат на help_command_callback), которое вызывается по кнопке "Справка". В логах только: INFO:aiogram.event:Update id=881252932 is handled. Duration 138 ms by bot id=1234567
Пробовал и без хендлера вызывать напрямую help_command_callback - результат одинаковый, ничего не происходит