You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Реестр пользователей (max_users): новая миграция и модель MaxUser с полным набором полей UserWithPhoto — user_id (PK), first_name, last_name, username, is_bot, last_activity_time, name, description, avatar_url, full_avatar_url. Все колонки с ->comment() на русском.
ListenerPersistBotChatListener при chats.enabled=true автоматически upsert запись в max_users
при получении bot_added/bot_started/bot_stopped/bot_removed с объектом user.
СвязьBotChat → MaxUser через user_id (Eloquent belongsTo, без FK-constraint — гибко при отсутствии
пользователя в max_users).
Конфиг: новая секция users.model (env MAX_USERS_MODEL) для переопределения модели MaxUser.
Изменение (BC)
Таблица bot_chats переименована в max_bot_chats. Потребителям необходимо выполнить php artisan vendor:publish --tag=laravel-max-client-migrations --force и php artisan migrate.
Миграции переименованы в 0001_01_01_00000x (Laravel publishable convention) — повторная публикация перезапишет
старые файлы миграций.
Затронутые сценарии
При добавлении/запуске бота в чат — пользователь автоматически сохраняется в max_users с данными из MAX API. Поля description/avatar_url/full_avatar_url заполняются при наличии UserWithPhoto
(webhook отдаёт User — поля доступны для заполнения через API getChatMembers/getBotMembership).
Связь BotChat::maxUser работает напрямую по user_id — без дополнительных join или подзапросов.