Skip to content

Телеграм-бот предназначен для генерации изображений по текстовому описанию, используя модель DALL-E 3 от OpenAI. Пользователи могут отправлять текстовые описания, а бот используя API OpenAI генерирует изображения.

king-tri-ton/doWallAIBot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Screenshot_6

Телеграм-бот для создания обоев на основе текстового описания с использованием OpenAI API


Это телеграм-бот предназначен для создания обоев для устройств на основе текстового описания, используя модель генерации изображений от OpenAI. Пользователи могут отправлять текстовые описания, а бот использует API OpenAI для генерации изображений, которые затем отправляются обратно пользователю в качестве обоев.


Установка и настройка:

  1. Установите зависимости:

    Перед началом использования убедитесь, что у вас установлены все необходимые зависимости. Вы можете установить их, выполнив следующую команду:

    pip install -r requirements.txt
    
  2. Регистрация бота в Telegram:

    • Зарегистрируйте нового бота в Telegram, следуя инструкциям здесь.
    • Получите токен бота от BotFather и сохраните его.
  3. Получение API-ключа OpenAI:

    • Зарегистрируйтесь на сайте OpenAI.
    • Получите API-ключ, выбрав нужный тарифный план.
  4. Настройка файла конфигурации:

    • Создайте файл config.py на основе exp.config.py.
    • Заполните поля AI_TOKEN (API-ключ OpenAI), BOT_TOKEN (токен бота Telegram) и ADMIN_ID (ID администратора бота).
  5. Запуск бота:

    • После настройки всех необходимых параметров запустите файл bot.py:
    python bot.py
    

Использование:

  1. Команда /start:

    • Начните общение с ботом, отправив команду /start.
    • После выполнения этой команды бот начнет ожидать от вас текстовое описание для создания обоев.
  2. Отправка текстового описания:

    • После отправки команды /start отправьте боту текстовое описание, которое вы хотите преобразовать в обои.
    • Бот начнет процесс генерации изображения на основе вашего описания.
  3. Команда /stats:

    • Для получения статистики использования бота отправьте команду /stats.
    • Эта команда доступна только администратору бота.
  4. Получение обоев:

    • После генерации изображения бот отправит вам результат в виде обоев для вашего устройства.

Примечание:

  • Перед использованием убедитесь, что у вас установлены все необходимые библиотеки и вы заполнили файл config.py корректно.
  • Пожалуйста, обратите внимание, что использование OpenAI API может потребовать дополнительных платежей в зависимости от вашего тарифного плана.
  • Этот бот предоставляется "как есть" без каких-либо гарантий или обязательств. Вы используете его на свой страх и риск.

Changelog (Журнал событий)

Версия 2.0.2
  • bot.py
    • Изменен импорт функций generate_image_url и download_and_send_image из файла functions.py.
    • Изменен импорт db на db_manager из файла db.py.
    • Вместо прямого вызова функций из модуля db, теперь используется метод create_tables() экземпляра db_manager.
    • Вместо прямого вызова функции add_user из модуля db, теперь используется метод add_user() экземпляра db_manager.
    • Вместо прямого вызова функции get_total_users из модуля db, теперь используется метод get_total_users() экземпляра db_manager.
    • Функция generate_image() была изменена на метод с тем же именем, и теперь использует функции из файла functions.py.
  • db.py
    • Добавлен новый класс DatabaseManager.
    • Методы работы с базой данных инкапсулированы внутри этого класса.
    • Добавлена инициализация объекта DatabaseManager с указанием имени базы данных по умолчанию.
    • Использование блокировки (Lock) для защиты от потоковых проблем при одновременном доступе к базе данных.
    • Операции с базой данных выполняются в контексте блокировки (with self.lock), обеспечивая безопасность при параллельном доступе.
  • functions.py
    • Функция generate_image_url() теперь возвращает URL сгенерированного изображения вместо его отправки.
    • Добавлена функция download_image(), которая загружает изображение по URL и сохраняет его на диск.
    • Добавлена функция send_image(), которая отправляет изображение пользователю и записывает данные об изображении в базу данных через экземпляр db_manager.
    • Добавлена функция download_and_send_image(), которая сначала загружает изображение, затем отправляет его пользователю и записывает данные об изображении в базу данных через экземпляр db_manager.
Версия 2.0.0
  • exp.config.py
    • Добавлена переменная IMAGE_FOLDER которая содержит путь к папке для сохранения изображений.
  • bot.py
    • Добавлена проверка длины входящего текстового сообщения перед его обработкой, чтобы убедиться, что текст не менее 10 символов.
    • Добавлена проверка на возникновение исключений при генерации изображения с использованием OpenAI. В случае возникновения ошибки, пользователю отправляется сообщение с просьбой повторить запрос или связаться с разработчиком.
    • Изменена логика сохранения изображения: теперь изображение скачивается и сохраняется в указанную папку images с именем в формате <tg_id>_<message_id>.png.
    • Изменен метод отправки изображения пользователю: теперь изображение отправляется как файловый объект, а не по URL.
  • db.py
    • В функции add_user(tg_id) добавлена обработка исключений для предотвращения возможных ошибок при добавлении пользователя в базу данных.

Лицензия:

Этот проект распространяется под лицензией MIT.


Если у вас возникли вопросы или предложения по улучшению проекта, не стесняйтесь связаться со мной по адресу mdolmatov99@gmail.com или телеграм @king_triton. Благодарю за использование моего бота!

About

Телеграм-бот предназначен для генерации изображений по текстовому описанию, используя модель DALL-E 3 от OpenAI. Пользователи могут отправлять текстовые описания, а бот используя API OpenAI генерирует изображения.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages