@Zo0meeer

Какова причина игнорирования хендлера в боте на Aiogram?

Имеется код, который по задумке должен принимать заявки пользователей с подпиской и, соответственно, отклонять заявки пользователей без неё:
@DISPATCHER.chat_join_request_handler(lambda request: request.chat.id == 1234)
@DISPATCHER.throttled(rate=300)
@get_error(LOGGER)
async def process_channel_join_request(request: ChatJoinRequest) -> None:
    """Обрабатывает заявку на вступление в канал."""
    if user := await DATABASE.get_user(request.from_user.id):
        if user.subscription.status:
            if not user.channel_member_status:
                LOGGER.info(f'Пользователь {request.from_user.id} добавлен в канал')
                await DATABASE.update_user(request.from_user.id, EditableUserInformation.channel_member_status, True)
            await request.approve()
        else:
            await BOT.send_message(request.from_user.id, '')
            await request.decline()
    else:
        await BOT.send_message(request.from_user.id, '')
        await request.decline()

Однако код работает криво, что странно. Когда тестирую на втором аккаунте Telegram - всё в норме, а вот с клиентами иногда висит заявка, которую бот не отклоняет, хоть и должен. В чём причина и, самое главное, как фиксить?
  • Вопрос задан
  • 94 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы