This commit is contained in:
Pavel_Durov 2024-05-10 20:49:20 +03:00
parent 4c520b39fe
commit 1533c5eb91

View File

@ -1,4 +1,4 @@
import openai
from openai import AsyncOpenAI
from aiogram import types
from create_bot import dp, bot
import logging
@ -6,69 +6,59 @@ from global_conf import CONFIG
admins = CONFIG['telegram_admins_ids']
openai.api_key = "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"
ban_comands = ['/dick','/topdick']
# Image_promt =['тупица сгенерируй','тупица сгенерируй картинку',\
# 'тупица отправь картинку', 'тупица отправь картинку']
client = AsyncOpenAI(api_key="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")
# @dp.message_handler(commands=['image'])
# async def send_image(message: types.Message):
# if message.from_user.id in admins and message.chat.type == 'private':
# 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(commands=['image'])
async def send_image(message: types.Message):
if message.from_user.id in admins and message.chat.type == 'private':
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",
async def gpt_text(req):
completion = await client.chat.completions.create(
messages=[
{
"role": "user",
"content": req,
}
],
model="gpt-4",
)
image_url = response['data'][0]['url']
await message.answer('Генерирую изображение...')
await message.reply_photo(image_url)
except Exception as e:
await message.reply('у меня не получилось')
return completion
@dp.message_handler()
async def send(message: types.Message):
if message.from_user.id in admins and message.chat.type == 'private':
## TODO уточнить остатки токенов и денег
response = openai.ChatCompletion.create(
model="gpt-4",
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'])
elif message.reply_to_message.from_user.is_bot:
response = openai.Completion.create(
model="gpt-4-turbo",
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'])
response = await gpt_text(message.text)
await message.answer(response.choices[0].message.content)