В этом видеоуроке мы погрузимся в мир искусственного интеллекта и генерации картинок, используя в качестве примера уникального бота Kandinsky в Телеграм. Этот бот превращает текстовые описания в изображения, демонстрируя потенциал AI в творчестве.
Наш видеоурок предназначен как для новичков, так и для опытных разработчиков. Мы начнем с объяснения того, как установить и настроить Python-пакет Pyrogram в вашем окружении, а затем перейдем к более сложным вещам, таким как отправка сообщений от вашего бота к Кандинскому 2.1.
Вы получите подробное руководство по работе с ботом, научитесь различать типы сообщений, которые вы можете отправить, и интерпретировать ответы бота. Видеоурок содержит практические примеры и понятные объяснения, чтобы помочь вам быстро освоиться и начать создавать свои собственные визуальные шедевры с помощью Кандинского 2.1.
После просмотра этого видеоурока вы получите ценный опыт работы с искусственным интеллектом и сможете использовать эти навыки для создания своих собственных проектов или расширения уже существующих. Приготовьтесь к погружению в захватывающий мир AI и визуального искусства вместе с нами!
from pyrogram import Client
from typing import Dict
import time
api_id = 172543458973
api_hash = 'c086d9a5fe15ebdfr6uh7855f9ad235f6767a71'
bot_username = 'kandinsky21_bot'
messages = {
'/finish': 'Можешь продолжать генерировать дальше',
'Генерация по тексту': 'Введи запрос',
'Мощный робокот': 'Выбери стиль',
'без стиля': 'Добавил в очередь на генерацию изображения'
}
def send_messages_and_wait(api_id: int, api_hash: str, bot_username: str, messages: Dict):
app = Client(name='my_account', api_id=api_id, api_hash=api_hash)
def send_wait_message(send_message: str, wait_message: str):
app.send_message(chat_id=bot_username, text=send_message)
start_time = time.time()
timeout = 200
while time.time() - start_time < timeout:
history = app.get_chat_history(chat_id=bot_username, limit=2)
for msg in history:
if msg.text and wait_message in msg.text:
return msg.text
time.sleep(1)
print('Время ожидания сообщения истекло')
return None
def wait_photo(app: Client):
start_time = time.time()
timeout = 200
while time.time() - start_time < timeout:
history = app.get_chat_history(chat_id=bot_username, limit=2)
for msg in history:
if msg.photo:
return msg
time.sleep(1)
with app:
for send_message, wait_message in messages.items():
send_wait_message(send_message=send_message, wait_message=wait_message)
msg_photo = wait_photo(app=app)
msg_photo.download()
send_messages_and_wait(api_id=api_id, api_hash=api_hash, bot_username=bot_username, messages=messages)












