Телеграм бот не реагирует на кнопки aiogram

Бот выписывает сообщение и прекрепляет кнопки, но не выполняет действия которые должны выполнять эти кнопки Код:

class ReportModel:
    def __init__(self, user_id, report_text, photo_ids=None):
        self.user_id = user_id
        self.report_text = report_text
        self.photo_ids = photo_ids

    # Метод для сохранения жалобы в базу данных
    def save(self):
        reports_collection = mongo_db["reports"]
        reports_collection.insert_one(self.__dict__)


@dp.message_handler(commands=["start"])
async def start_handler(message: types.Message):
    user_id = message.from_user.id
    username = message.from_user.username
    registration_time = message.date

    profile = ProfileModel(user_id, username, 0, registration_time, 0)
    profile.save()

    await message.reply("Твой текст")

@dp.message_handler(commands=["report"])
async def report_handler(message: types.Message):
    user_id = message.from_user.id
    username = message.from_user.username
    report_text = message.text.split("/report", 1)[1].strip()

    # Проверяем, есть ли уже профиль пользователя в базе данных
    profile = ProfileModel(user_id, username, 0, 0, 0)
    profiles_collection = mongo_db["profiles"]
    existing_profile = profiles_collection.find_one({"user_id": user_id})

    if existing_profile:
        profile.report_count = existing_profile.get("report_count", 0)
    else:
        profile.save()

    profile.report_count += 1
    profile.save()

    photo_ids = []
    if message.photo:
        # Сохраняем фотографии в базу данных
        for photo in message.photo:
            photo_id = photo.file_id
            photo_ids.append(photo_id)

    report = ReportModel(user_id, report_text+f"\nОтправитель:{user_id}", photo_ids)
    report.save()

    await message.reply("Спасибо за вашу жалобу. Она будет рассмотрена администрацией.")


@dp.message_handler(commands=["admin_reports"])
async def admin_reports_handler(message: types.Message)`:
    # Проверяем, является ли пользователь администратором
    if message.from_user.id not in [6878850076]:  # Замените на список айдишников администраторов
        return

    profiles_collection = mongo_db["profiles"]
    reported_profiles = profiles_collection.find({"report_count": {"$gt": 0}})

    reports_collection = mongo_db["reports"]

    for profile in reported_profiles:
        user_id = profile["user_id"]
        report_count = profile["report_count"]

        await bot.send_message(user_id, f"У вас имеется {report_count} жалоб(ы).")

        reports = reports_collection.find({"user_id": user_id})

        for report in reports:
            report_text = report["report_text"]
            photo_ids = report["photo_ids"]

            keyboard = InlineKeyboardMarkup(row_width=2)
            accept_button = InlineKeyboardButton("Принять", callback_data=f"accept_{user_id}")
            reject_button = InlineKeyboardButton("Отклонить", callback_data=f"reject_{user_id}")
            keyboard.add(accept_button, reject_button)

            await bot.send_message(user_id, f"Жалоба: {report_text}", reply_markup=keyboard)

            if photo_ids:
                for photo_id in photo_ids:
                    await bot.send_photo(user_id, photo_id)

            # Сохраняем сообщение в профиле пользователя
            profiles_collection.update_one({"user_id": user_id}, {"$set": {"report": report}})

async def handle_report_decision(user_id, decision, reports_collection, profiles_collection, bot):
    profile_data = profiles_collection.find_one({"user_id": user_id})
    if profile_data is None:
        return

    # Получаем сохраненное сообщение из профиля пользователя
    report = profile_data.get("report")
    if report is None:
        return

    if decision == "accept":
        profile = ProfileModel(**profile_data)
        profile.accepted_reports += 1
        profiles_collection.update_one({"user_id": user_id}, {"$set": {"accepted_reports": profile.accepted_reports}})
        await bot.send_message(user_id, "Ваша жалоба была принята администратором.")
    else:
        await bot.send_message(user_id, "Ваша жалоба была отклонена администратором.")

    reports_collection.delete_many({"user_id": user_id})

    # Удаляем сохраненное сообщение из профиля пользователя
    profiles_collection.update_one({"user_id": user_id}, {"$unset": {"report": ""}})

@dp.callback_query_handler(lambda callback_query: callback_query.data.startswith(("accept_", "reject_")))
async def callback_handler(callback_query: types.CallbackQuery):
    decision, user_id = callback_query.data.split("_")
    
    profiles_collection = mongo_db["profiles"]
    reports_collection = mongo_db["reports"]

    await handle_report_decision(user_id, decision, reports_collection, profiles_collection, bot)

    # После обработки callback_query, отправляем уведомление через answer()
    await callback_query.answer()

Ответы (0 шт):