Перейти к содержанию

GettedUpdates

get_update_model(event, bot) async

Конвертировать словарь с событием в модель обновления.

Source code in maxapi/methods/types/getted_updates.py
async def get_update_model(event: dict, bot: "Bot") -> UpdateUnion | None:
    """Конвертировать словарь с событием в модель обновления."""
    try:
        event_object = UpdateUnionAdapter.validate_python(event)
    except ValueError:
        # Пришло новое событие, которое данная библиотека пока
        # не умеет обрабатывать. Возвращаем None, чтобы обработать это
        # в вызывающем коде и не ломать процесс получения обновлений
        return None

    return await enrich_event(event_object=event_object, bot=bot)

process_update_request(events, bot) async

Конвертировать словарь с обновлениями в список моделей.

Source code in maxapi/methods/types/getted_updates.py
async def process_update_request(
    events: dict[str, Any],
    bot: "Bot",
) -> list[UpdateUnion]:
    """Конвертировать словарь с обновлениями в список моделей."""
    events_models = []

    for event in events["updates"]:
        event_model = await get_update_model(event, bot)
        if event_model is None:
            update_type = event["update_type"]
            logger.warning(
                UNKNOWN_UPDATE_DISCLAIMER.format(update_type=update_type)
            )
            continue

        events_models.append(event_model)

    return events_models