Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import requests
- import time
- from aiogram import Bot, Dispatcher, types
- from aiogram.utils import executor
- # Ваш токен Telegram бота
- TELEGRAM_TOKEN = 'Токен бота'
- # Инициализация бота и диспетчера
- bot = Bot(token=TELEGRAM_TOKEN)
- dp = Dispatcher(bot)
- # Функция для генерации изображения
- def generate_image_v2(prompt):
- url = 'https://pornworks.ai/api/v2/generate/text2image'
- payload = {
- "checkpoint": "nude_people",
- "prompt": prompt,
- "resources": [],
- "samplerName": "DPM++ 2M Karras",
- "ratio": "1x1",
- "hr": False,
- "sharpness": 5,
- "cfgScale": 5,
- "performance": "speed",
- "denoisingStrength": 1,
- "fast": False,
- "inpaintMode": "controlnet"
- }
- headers = {
- 'Content-Type': 'application/json',
- 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 Edg/130.0.0.0',
- }
- try:
- # Отправка POST-запроса для генерации изображения
- response = requests.post(url, json=payload, headers=headers)
- response.raise_for_status() # Если ошибка в ответе, выбрасываем исключение
- # Получаем ID запроса для дальнейшего опроса
- data = response.json()
- image_id = data['id']
- print(f"Запрос на генерацию изображения отправлен, ID: {image_id}")
- # Ожидание завершения генерации
- image_url = poll_for_image(image_id)
- return image_url # Возвращаем URL сгенерированного изображения
- except requests.exceptions.RequestException as error:
- print(f"Ошибка при генерации изображения: {error}")
- return None
- # Функция для опроса статуса генерации изображения
- def poll_for_image(image_id):
- url = f'https://pornworks.ai/api/v2/generations/{image_id}/state'
- while True:
- try:
- response = requests.get(url, headers={
- 'Accept': 'application/json, text/plain, */*',
- 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36 Edg/130.0.0.0',
- })
- response.raise_for_status()
- data = response.json()
- state = data['state']
- results = data.get('results')
- if state == 'done':
- print(f"Генерация изображения завершена: {results}")
- return results['image'] # Возвращаем URL сгенерированного изображения
- else:
- print("Ожидание завершения генерации...")
- time.sleep(2) # Ожидаем 2 секунды перед следующим запросом
- except requests.exceptions.RequestException as error:
- print(f"Ошибка при опросе изображения: {error}")
- return None
- # Обработчик команды /start
- @dp.message_handler(commands=['start'])
- async def start(message: types.Message):
- await message.answer("Привет! Отправь мне любое сообщение, и я сгенерирую картинку!")
- # Обработчик всех сообщений
- @dp.message_handler(content_types=['text'])
- async def handle_message(message: types.Message):
- user_message = message.text
- image_url = generate_image_v2(user_message)
- if image_url:
- await message.answer(f'Вот ваша картинка: {image_url}')
- else:
- await message.answer('Произошла ошибка при генерации картинки. Попробуйте снова.')
- if __name__ == '__main__':
- executor.start_polling(dp, skip_updates=True)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement