Бот для генерации изображений
Сегодня создадим телеграм бота на базе API от OpenAI для генерации изображений по текстовому описанию, использовать будем их модели DALL·E 2 и DALL·E 3, приступим
Создаем бота
Для начала, перейдем в BotFather и создадим нового бота
после будет доступен токен бота, копируем и идем дальше.
API OpenAI
Переходим на платформу OpenAI в раздел API Keys и создаем новый ключ
В графе name указываете имя ключа, я написал "create img", далее получаетет ключ API Open AI.
Пишем код
Использовать будем python
1. Импорт библиотек: Код импортирует необходимые библиотеки, такие как telebot для работы с API Telegram, OpenAI для использования сервиса генерации изображений, requests для работы с HTTP-запросами, db для взаимодействия с базой данных, и os для работы с операционной системой.
2. Инициализация бота и клиента OpenAI: Создаются экземпляры бота и клиента OpenAI с использованием предоставленных токенов.
3. Создание таблиц в базе данных и папки: Проверяется наличие таблиц в базе данных и папки для сохранения изображений, и при необходимости они создаются.
4. Обработчик команды /start: При получении команды /start бот регистрирует пользователя в базе данных и приветствует его.
5. Обработчик команды /stats: При получении команды /stats бот отображает общее количество пользователей, которые воспользовались им, если отправитель сообщения является администратором.
6. Обработчик текстовых сообщений: Если бот получает текстовое сообщение, он проверяет его длину и, если она больше 10 символов, создает изображение на основе текста с использованием сервиса OpenAI. Затем бот отправляет сгенерированное изображение пользователю и сохраняет его в базе данных.
7. Запуск бота: Бот запускается в режиме бесконечного опроса, чтобы он мог реагировать на входящие сообщения пользователя.
Пару слов
Я создавал этого бота для генерации "обоев" на телефон, но эта тематика на сильно популярна, поэтому я выложил исходный код в открытый доступ, код можно модифицировать под свои нужны он очень прост, спасибо за внимание!
P.S. Посмотреть работу бота можно в tiktok.