Skip to content

docs: исправлен пример lazy ref — is not None вместо truthiness#103

Merged
love-apples merged 1 commit intolove-apples:feat/fetch-without-auto-requestsfrom
bish-x:fix/docs-lazy-ref-example
Apr 9, 2026
Merged

docs: исправлен пример lazy ref — is not None вместо truthiness#103
love-apples merged 1 commit intolove-apples:feat/fetch-without-auto-requestsfrom
bish-x:fix/docs-lazy-ref-example

Conversation

@bish-x
Copy link
Copy Markdown
Contributor

@bish-x bish-x commented Apr 9, 2026

Описание

Исправлен нерабочий паттерн в документации для auto_requests=False.

Проблема

Pending LazyRef является falsy (bool(ref) = False), поэтому паттерн:

chat = await event.chat.fetch() if event.chat else None

никогда не вызовет fetch() — условие if event.chat вернёт False для lazy ref, и пользователь всегда получит None.

Исправление

chat = await event.chat.fetch() if event.chat is not None else None

Проверка is not None корректно отличает "lazy ref существует" от "ref не назначен".

Также добавлен комментарий в коде, объясняющий почему нужен is not None.

Рекомендуемый подход

Основной API остаётся await event.fetch_chat() — он работает корректно во всех случаях.

Pending LazyRef является falsy (bool = False), поэтому паттерн
`if event.chat` не вызовет fetch(). Исправлено на `is not None`.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@love-apples love-apples merged commit cbb0df6 into love-apples:feat/fetch-without-auto-requests Apr 9, 2026
love-apples added a commit that referenced this pull request Apr 13, 2026
* feat: fetch для user и chat при auto_requests=False

* Добавлены тесты для lazy fetch и обработки None в обновлениях

* docs: исправлен пример lazy ref — проверка через is not None (#103)

Pending LazyRef является falsy (bool = False), поэтому паттерн
`if event.chat` не вызовет fetch(). Исправлено на `is not None`.

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Apply suggestions from code review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix: обновление проверки chat и from_user. callable в isinstance

* feat: унификация полей

* feat: добавлено блокирование для безопасной конкурентной загрузки в LazyRef

* Update maxapi/bot.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* feat: добавлено логирование ошибок при получении участника чата в _resolve_from_user

* feat: обновление обработки событий для безопасного получения chat и from_user

---------

Co-authored-by: Bishon <164760691+bish-x@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants