forked from Pavel_Durov/python_bot
80 lines
2.4 KiB
Python
80 lines
2.4 KiB
Python
import openai
|
||
from aiogram import types, Dispatcher
|
||
from create_bot import dp, bot
|
||
import logging
|
||
|
||
|
||
|
||
token = '5947963644:AAF_GKgMmU5ovqMpc1KXIpcf4aN0JMyKPqc'
|
||
#openai.api_key = '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'
|
||
openai.api_key = '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'
|
||
ban_comands = ['/dick','/topdick']
|
||
|
||
# Image_promt =['тупица сгенерируй','тупица сгенерируй картинку',\
|
||
# 'тупица отправь картинку', 'тупица отправь картинку']
|
||
|
||
|
||
@dp.message_handler(commands=['image'])
|
||
async def send_image(message: types.Message):
|
||
try:
|
||
description = message.text.replace('/image', '').strip()
|
||
|
||
if not description:
|
||
await message.reply('Ты даун, описание запроса напиши после пробела')
|
||
return
|
||
except Exception as e:
|
||
logging.error(f'Error in send_image: {e}')
|
||
try:
|
||
|
||
response = openai.Image.create(
|
||
prompt=message.text,
|
||
n=1,
|
||
size="1024x1024",
|
||
response_format="url",
|
||
|
||
)
|
||
image_url = response['data'][0]['url']
|
||
await message.answer('Генерирую изображение...')
|
||
await message.reply_photo(image_url)
|
||
except Exception as e:
|
||
await message.reply('у меня не получилось')
|
||
|
||
@dp.message_handler()
|
||
async def send(message: types.Message):
|
||
if message.text.lower().startswith('тупица'):
|
||
|
||
## TODO уточнить остатки токенов и денег
|
||
response = openai.Completion.create(
|
||
model="text-davinci-003",
|
||
prompt=message.text[7:],
|
||
temperature=0.7,
|
||
max_tokens=1000,
|
||
top_p=1.0,
|
||
frequency_penalty=0.0,
|
||
presence_penalty=0.6,
|
||
stop=["сброс"]
|
||
)
|
||
await message.reply(response['choices'][0]['text'])
|
||
|
||
elif message.reply_to_message.from_user.is_bot:
|
||
response = openai.Completion.create(
|
||
model="text-davinci-003",
|
||
prompt=message.text,
|
||
temperature=0.7,
|
||
max_tokens=1000,
|
||
top_p=1.0,
|
||
frequency_penalty=0.0,
|
||
presence_penalty=0.6,
|
||
stop=["сброс"]
|
||
)
|
||
await message.reply(response['choices'][0]['text'])
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|