Сделай приватную интеграцию между ChatGPT и Telegram для безопасной
публикации текстовых и медиапостов.

Требования:

1. Использовать Telegram Bot API.

2. Поддержать два назначения:
   - TEST — тестовый канал;
   - MAIN — основной канал.

3. Никогда не публиковать сообщение сразу.

4. Для текста реализовать:
   - prepare_telegram_post
   - send_telegram_post

5. Для медиапостов реализовать:
   - prepare_telegram_media_post
   - send_telegram_media_post

6. prepare должен:
   - фиксировать точный текст;
   - фиксировать целевой канал;
   - фиксировать изображения и их порядок;
   - возвращать точный preview;
   - возвращать одноразовый review_token.

7. send должен принимать только review_token
   и отправлять именно ранее подтверждённую версию.

8. Для изображений, созданных или загруженных в ChatGPT,
   добавить отдельный action create_telegram_media_upload.

9. Вход image описать как file object с полями:
   - download_url
   - file_id
   - mime_type
   - file_name

10. Добавить:
    _meta["openai/fileParams"] = ["image"]

11. Сервер должен:
    - скачать файл;
    - проверить MIME;
    - проверить magic bytes;
    - проверить максимальный размер;
    - вычислить SHA-256;
    - временно сохранить изображение
      в приватном object storage;
    - вернуть HTTPS media URL.

12. Для Telegram использовать:
    - sendPhoto для одного изображения;
    - sendMediaGroup для нескольких изображений.

13. Все токены, пароли, API-ключи и секреты
    должны храниться только на сервере
    в environment variables.

14. Не показывать секреты в ChatGPT.

15. Разрешить публикацию только
    в заранее заданные TEST и MAIN каналы.

16. Перед реальной отправкой
    всегда требовать явное подтверждение пользователя.

Сначала собери архитектуру,
затем реализуй минимальную рабочую версию,
а потом отдельно проверь весь путь:
ChatGPT → preview → confirmation → Telegram.
