-- 0012_user_bot_tokens — токен собственного бота у каждого пользователя. -- -- Зачем: раньше бот был один на весь сервис (TELEGRAM_BOT_TOKEN в env -- сервера), и уведомления шли только от него. Теперь пользователь может -- подключить своего бота сам, из раздела «Настройки»: создаёт его в -- @BotFather, вставляет токен — уведомления уходят через его бота. -- Глобальный бот остаётся запасным вариантом для тех, кто токен не ввёл. -- -- Хранение: токен зашифрован на стороне приложения (AES-256-GCM, ключ — -- секрет DATA_ENCRYPTION_KEY), в базе лежит bytea. Ответ «что это за -- бот» (telegram_bot_username) берётся из getMe при сохранении и лежит -- открыто: имя бота секрета не представляет. -- -- Кто чем владеет: -- * telegram_bot_token — приватно, читается только своим пользователем, -- в API не отдаётся вообще (в статусе только has_bot_token); -- * telegram_target — куда слать (та же колонка, что и раньше). -- -- Применённый файл не редактировать (checksum в schema_migrations). ALTER TABLE profiles ADD COLUMN IF NOT EXISTS telegram_bot_token bytea; ALTER TABLE profiles ADD COLUMN IF NOT EXISTS telegram_bot_username text; -- Отбор пользователей со своим ботом при старте процесса (реестр ботов -- и их поллеры): колонка трогается редко, индекс не нужен.