Как я с помощью ИИ создал бесплатного Telegram-бота для конвертации файлов, которым уже пользуются 1500 человек
Когда-то я уже делал простого Telegram-бота для работы с видео. Тогда идея была понятная: пользователь отправляет ссылку, бот помогает получить нужный файл прямо в Telegram. Но со временем стало понятно, что людям нужен не один конкретный инструмент, а нормальный универсальный помощник для повседневных задач.
Так появилась идея нового проекта: Telegram-бота, который умеет конвертировать документы, изображения, видео и аудио прямо в чате.
Без регистрации. Без установки программ. Без лишних сайтов. Без сложного интерфейса. Просто отправляешь файл — и получаешь результат.
Сегодня этим ботом уже пользуются более 1500 человек. Самое интересное — проект я собрал с помощью ИИ, Python и набора open-source-инструментов.
Почему я решил сделать именно конвертер файлов
Проблема очень простая и знакомая почти каждому.
Нужно срочно перевести DOCX в PDF. Или наоборот — получить DOCX из PDF. Или сделать JPG из PNG. Или превратить видео в GIF. Или конвертировать аудио в MP3, WAV, FLAC или OGG. Или быстро подготовить фото на паспорт.
Обычно для этого люди идут на случайные сайты-конвертеры. А там часто:
— много рекламы; — ограничения по размеру файла; — непонятно, что происходит с загруженными документами; — часть функций платная; — интерфейс перегружен; — иногда нужно ждать очередь; — иногда сайт просто не работает с нужным форматом.
Мне захотелось сделать проще: чтобы всё работало прямо в Telegram.
Пользователь отправляет файл, выбирает нужный формат, бот делает обработку и возвращает готовый результат.
Как ИИ помог на старте
Я не начинал с огромного технического задания. Первая формулировка была максимально простой:
«Нужен Telegram-бот на Python, который принимает документы и конвертирует DOCX в PDF и PDF в DOCX».
ИИ помог быстро собрать первую рабочую основу:
— обработку команд Telegram; — скачивание файла от пользователя; — определение расширения; — запуск конвертации; — отправку результата обратно в чат.
Но первая версия — это ещё не продукт. Это просто прототип.
Дальше я начал развивать проект итерациями. Не одним огромным запросом, а маленькими задачами:
— добавить поддержку изображений; — добавить конвертацию видео в GIF; — добавить аудио; — добавить ограничения по размеру; — добавить проверку PDF на количество страниц; — добавить таймауты; — добавить очистку временных файлов; — добавить статистику; — добавить админские команды; — сделать так, чтобы сервер не умирал при нескольких тяжёлых задачах.
И вот тут ИИ оказался особенно полезен. Он помогал не только писать код, но и думать о плохих сценариях: что будет, если пользователь отправит огромный файл, если LibreOffice зависнет, если ffmpeg не сможет прочитать видео, если PDF окажется сканом, если пользователь нажмёт кнопку через час.
Какие технологии используются
Внутри проекта используется несколько инструментов.
Для Telegram-бота:
Python
aiogram
local Telegram Bot API Server
Для документов:
LibreOffice / soffice
pdf2docx
PyPDF2
python-docx
reportlab
Для изображений:
Pillow
pillow-heif
Для видео и аудио:
ffmpeg
Для хранения данных:
SQLite
Для запуска на сервере:
systemd
VPS
Linux
То есть это не просто “бот на пару строк”. Это полноценная связка из Python-кода, внешних программ, базы данных, временного хранилища и локального Telegram Bot API.
Почему понадобился локальный Telegram Bot API Server
Одна из главных проблем Telegram-ботов — ограничения на работу с файлами.
Если использовать обычный Telegram Bot API, быстро упираешься в лимиты. Для маленьких файлов это не страшно, но для конвертера документов, изображений и видео такие ограничения сильно мешают.
Поэтому я использовал локальный Telegram Bot API Server.
Это отдельный сервер Telegram Bot API, который запускается на своей машине или VPS. Бот подключается не к обычному адресу Telegram API, а к локальному адресу:
TelegramAPIServer.from_base("http://localhost:8081", is_local=True)
За счёт этого бот может работать с гораздо более крупными файлами. Это критично для проекта, где пользователь может отправить большой PDF, архивный документ, крупное изображение или видео.
Как работает сценарий для пользователя
Снаружи всё выглядит очень просто.
Пользователь отправляет файл.Бот определяет тип файла.Если это документ — предлагает конвертацию DOCX ↔ PDF.Если это изображение — предлагает форматы JPG, PNG, GIF, HEIC и фото на паспорт.Если это видео — предлагает сделать GIF.Если это аудио — предлагает MP3, WAV, FLAC, AAC или голосовое.
После обработки бот сохраняет результат и отдаёт его пользователю.
Типичный сценарий такой:
- Пользователь отправляет файл.
- Бот скачивает его во временную папку downloads/.
- Проверяет размер, формат и ограничения.
- Запускает нужный обработчик.
- Сохраняет результат в converted/.
- Показывает пользователю кнопку для получения файла.
- Отправляет готовый файл.
- Удаляет временные данные.
- Записывает событие в статистику.
Что ИИ сделал хорошо
Главное преимущество ИИ — скорость.
Он помогал:
— быстро собирать первую версию; — писать обработчики Telegram; — добавлять новые форматы; — разбирать ошибки; — улучшать обработку исключений; — придумывать защиту от перегрузки; — писать функции для конвертации; — анализировать код; — готовить задачи для доработки.
Но самый рабочий подход — это не “напиши мне весь проект сразу”.
Лучше работает итерационный формат:
Сначала сделай DOCX → PDF.
Теперь добавь PDF → DOCX.
Теперь добавь проверку страниц.
Теперь добавь изображения.
Теперь добавь видео через ffmpeg.
Теперь добавь аудио.
Теперь добавь статистику.
Теперь добавь очистку временных файлов.
Теперь проверь, где проект может упасть.
Так проект растёт контролируемо, а не превращается в хаос.
Что пришлось дорабатывать вручную
ИИ сильно ускоряет разработку, но он не заменяет проверку в реальной среде.
Некоторые вещи пришлось настраивать и проверять вручную:
— установку LibreOffice на сервер; — установку ffmpeg; — запуск локального Telegram Bot API Server; — работу с большими файлами; — права доступа к папкам; — очистку временных файлов; — работу SQLite; — поведение бота при ошибках Telegram API; — запуск через systemd; — лимиты памяти на VPS.
Это важный вывод: ИИ может написать код, но реальный сервис — это не только код. Это ещё окружение, сервер, зависимости, логи, лимиты, ошибки и пользователи.
Что получилось в итоге
В результате получился бесплатный Telegram-бот, который помогает людям конвертировать файлы прямо в чате.
Он умеет:
— DOCX → PDF; — PDF → DOCX; — JPG/PNG/GIF/HEIC; — фото на паспорт; — видео → GIF; — аудио → MP3/WAV/FLAC/AAC/OGG; — водяные знаки для документов; — статистику; — рассылки; — опросы.
Проект работает на Python, использует локальный Telegram Bot API Server, SQLite, LibreOffice, ffmpeg и несколько библиотек для обработки файлов.
Самое приятное — это не просто тестовая поделка. Это сервис, которым уже пользуются более 1500 человек.
Для меня это хороший пример того, как ИИ можно использовать не для абстрактных экспериментов, а для создания настоящих полезных инструментов.
Сначала появляется идея. Потом первый прототип. Потом ошибки. Потом сервер. Потом ограничения. Потом статистика. Потом реальные пользователи.
И в какой-то момент это уже не “код из ChatGPT”, а полноценный проект, который каждый день решает людям конкретную задачу.