This commit is contained in:
4hellboy4 2024-10-10 13:08:58 +03:00
parent 8dc8004487
commit 686d533b5e
4 changed files with 19 additions and 25 deletions

5
README.md Normal file
View File

@ -0,0 +1,5 @@
just run
```
docker compose up --build -d
```
for testing

View File

@ -1,8 +1,13 @@
from aiogram.filters.callback_data import CallbackData from aiogram.filters.callback_data import CallbackData
from aiogram.types import InlineKeyboardButton from aiogram.types import InlineKeyboardButton
from aiogram.utils.keyboard import InlineKeyboardBuilder from aiogram.utils.keyboard import InlineKeyboardBuilder
from db.db import * from db.db import *
class PageCallBack(CallbackData, prefix="page"):
page: int
page_name: str
models_description = { models_description = {
"1o": "Это базовая модель ИИ, которая \"умеет думать\". Она хороша для выполнения повседневных задач, \ "1o": "Это базовая модель ИИ, которая \"умеет думать\". Она хороша для выполнения повседневных задач, \
таких как анализ данных, обработка текста и создание отчетов. Она подходит для малого и среднего бизнеса, \ таких как анализ данных, обработка текста и создание отчетов. Она подходит для малого и среднего бизнеса, \
@ -104,13 +109,15 @@ class ChooseCallBack(CallbackData, prefix="choose"):
name: str name: str
async def get_model_page(*, page: int, name: str, user_id): async def get_model_page(*, page: int, name: str, user_id):
temp_kbds: InlineKeyboardBuilder = InlineKeyboardBuilder()
if name in ['1o', '1o mini']:
return "Данная модель сейчас не работает", temp_kbds
tokens = await get_current_model_tokens(user_id, name) tokens = await get_current_model_tokens(user_id, name)
status = await get_current_model(user_id) == name status = await get_current_model(user_id) == name
text: str = models_description[name] + str(tokens) text: str = models_description[name] + str(tokens)
temp_kbds: InlineKeyboardBuilder = InlineKeyboardBuilder()
for option_name, item in model_prices[name].items(): for option_name, item in model_prices[name].items():
option_name_rus, tokens, amount = name_of_model[option_name], item["tokens"], item["amount"] option_name_rus, tokens, amount = name_of_model[option_name], item["tokens"], item["amount"]
temp_text = f"{name_of_model[option_name]} | {tokens} запросов" temp_text = f"{name_of_model[option_name]} | {tokens} запросов"

View File

@ -130,18 +130,6 @@ async def pay(callback: types.CallbackQuery, callback_data: PayCallBack):
async def process_pre_checkout_query(pre_checkout_query: PreCheckoutQuery): async def process_pre_checkout_query(pre_checkout_query: PreCheckoutQuery):
await pre_checkout_query.answer(ok=True) await pre_checkout_query.answer(ok=True)
# time.sleep(2)
#
# await pre_checkout_query.bot.send_message(chat_id=pre_checkout_query.from_user.id, text="Спасибо, пользутесь нашим сервисом!")
#
# text, reply_markup = await get_page_content(page=0, name="main", user_id=pre_checkout_query.from_user.id)
#
# await pre_checkout_query.bot.send_message(
# chat_id=pre_checkout_query.from_user.id,
# text=text,
# reply_markup=reply_markup,
# )
@user.message(F.successful_payment) @user.message(F.successful_payment)
async def process_payment(message: types.Message): async def process_payment(message: types.Message):
@ -167,6 +155,8 @@ async def process_payment(message: types.Message):
await message.bot.send_message(chat_id=message.from_user.id, await message.bot.send_message(chat_id=message.from_user.id,
text="Для работы с chatGPT отправьте текст с вашим вопросом и получите на него ответ)") text="Для работы с chatGPT отправьте текст с вашим вопросом и получите на него ответ)")
await set_curren_model(user_id, model_name)
@user.message(Command(commands=["failed"])) @user.message(Command(commands=["failed"]))
async def process_payment(message: types.Message): async def process_payment(message: types.Message):
await message.bot.send_message(chat_id=message.from_user.id, await message.bot.send_message(chat_id=message.from_user.id,
@ -314,8 +304,8 @@ async def chatgpt_chatting(message: types.Message):
await message.bot.send_message(chat_id=message.from_user.id, text="У вас еще не выбрана модель", reply_markup=kbds.adjust(*(1,)).as_markup()) await message.bot.send_message(chat_id=message.from_user.id, text="У вас еще не выбрана модель", reply_markup=kbds.adjust(*(1,)).as_markup())
models = { models = {
'1o' : "o1-preview", '1o' : "o1-preview-2024-09-12",
'1o mini': "o1-mini", '1o mini': "o1-mini-2024-09-12",
'4o': "gpt-4o", '4o': "gpt-4o",
'4o mini': "gpt-4o-mini" '4o mini': "gpt-4o-mini"
} }

View File

@ -72,11 +72,3 @@ def get_kb_buttons(*, btns: list[InlineKeyboardButton], sizes: tuple[int] = (1,)
return kb_temp.adjust(*sizes).as_markup() return kb_temp.adjust(*sizes).as_markup()
def get_callback_btns(*, btns: dict[str, str]):
keyboard = InlineKeyboardBuilder
for text, data in btns.items():
keyboard.add(InlineKeyboardButton(text=text, callback_data=data).pack())
return keyboard.as_markup()