chatgpt_bot/bot/handlers/user/page_processing.py

137 lines
7.0 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

from aiogram.types import InlineKeyboardMarkup
from bot.kbs.inline import get_user_main_btns, get_user_lessons_page, get_user_tarif_page, \
get_user_model_description_page, get_more_about_modules_page, get_price_list_page
page_info = {
'main' : "Привет! Это Мудрый ИИ. Этот бот создан для того, чтобы вы легко и просто использовали искусственный интеллект, \
и вы можете применить его абсолютно в любых целях. Этот бот содержит в себе 4 модели ИИ:\n\n\
1о - Супермодель, первый уровень AGI. Она умеет размышлять и выдавать осмысленные и глубокие ответы.\n\n\
1о mini - Супермодель, упрощенная версия 1о, но также умеет думать и помогать в сложных задачах. \n\
В плане цены она доступнее 1о.\n\n\
4о - Проверенная практикой модель, которая быстро справляется с любой задачей. \n\
Её сила в скорости и качестве результатов, подходит для длительных, средних и сложных задач.\n\n\
4о mini - Лайт версия 4о. Вы практически не ограничены в запросах, эта модель эффективна, когда вы только ищете решение. \n\
Вы сможете быстро перебирать подходящие варианты, а когда найдете, то сможете спокойно пользоваться 4о, 1о или 1о m.",
"lessons": "Список доступных уроков:\n\n\
Чем полезен ИИ-Робот в Telegram\n\
В этом уроке вы узнаете про возможности ИИ-Ассистента\n\n\
Первые шаги с ИИ в Telegram Боте\n\
Выходим в интернет с помощью ИИ\n\n\
Загружаем в ИИ-бота информацией о вас\n\
Первые шаги в обучении ИИ\n\n\
Решение повторяющихся задач\n\
В этом уроке мы быстро создаем чек-листы, регламенты, правила\n\n\
Основные методы по обучению ИИ-Бота\n\
Вы научитесь правильно обучать вашего нейросотрудника\n\n\
Исследование рынка с помощью ИИ\n\
В этом уроке вы узнаете как через ИИ-Ассистента исследовать рынок и находить новые возможности\n\n\
Сегментирование целевой аудитории\n\
Сможете создавать портреты ЦА с помощью ИИ-Ассистента\n\n\
Основы технического промта\n\
В этом уроке вы узнаете основу создания промт\n\n\
Эти уроки раскрывают потенциал по управлению ИИ-ботом, однако некоторые функции из уроков ваш бот не сможет сделать,\n\
например, поставить встречи в гугл календаре или работать с файлами.\n\
Но вы точно научитесь использовать этого на 100%\n\n\
Ссылка на бесплатное обучение - https://neirovoid.getcourse.ru/Ai_QUB",
"tarif": "Выберите модель:",
"more_about_models": "Больше о моделях",
"price_list": "1O:\n\
Базовый\n\
- Количество запросов: 60\n\
- Цена для пользователя: 2000 RUB\n\n\
Продвинутый\n\
- Количество запросов: 128\n\
- Цена для пользователя: 3500 RUB\n\n\
Профессиональный\n\
- Количество запросов: 300\n\
- Цена для пользователя: 7500 RUB\n\n\
1O mini:\n\
Базовый\n\
- Количество запросов: 50\n\
- Цена для пользователя: 900 RUB\n\n\
Продвинутый\n\
- Количество запросов: 100\n\
- Цена для пользователя: 1500 RUB\n\n\
Профессиональный\n\
- Количество запросов: 270\n\
- Цена для пользователя: 2700 RUB\n\n\
4O:\n\
Базовый\n\
- Количество запросов: 100\n\
- Цена для пользователя: 1500 RUB\n\n\
Продвинутый\n\
- Количество запросов: 150\n\
- Цена для пользователя: 2000 RUB\n\n\
Профессиональный\n\
- Количество запросов: 303\n\
- Цена для пользователя: 3750 RUB\n\n\
4O mini:\n\
Базовый\n\
- Количество запросов: 800\n\
- Цена для пользователя: 400 RUB\n\n\
Продвинутый\n\
- Количество запросов: 1650\n\
- Цена для пользователя: 650 RUB\n\n\
Профессиональный\n\
- Количество запросов: 3300\n\
- Цена для пользователя: 1250 RUB",
}
async def main_page(page: int, name: str):
kbds: InlineKeyboardMarkup = get_user_main_btns(page=page)
text: str = page_info[name]
return text, kbds
async def lessons_page(page: int, name: str):
kbds: InlineKeyboardMarkup = get_user_lessons_page(page=page)
text: str = page_info[name]
return text, kbds
async def tarif_page(page: int, name: str):
kbds: InlineKeyboardMarkup = get_user_tarif_page(page=page)
text: str = page_info[name]
return text, kbds
async def models_description_page(page: int, name: str, user_id):
text, kbds = await get_user_model_description_page(page=page, name=name, user_id=user_id)
return text, kbds
async def more_about_models_page(page: int, name: str):
kbds: InlineKeyboardMarkup = get_more_about_modules_page(page=page)
text = page_info[name]
return text, kbds
async def price_list_page(page: int, name: str):
kbds: InlineKeyboardMarkup = get_price_list_page(page=page)
text = page_info[name]
return text, kbds
async def get_page_content(page: int, name: str, user_id):
if page == 0:
return await main_page(page, name)
elif page == 1:
return await lessons_page(page, name)
elif page == 2:
return await tarif_page(page, name)
elif page == 3:
return await more_about_models_page(page, name)
elif 4 <= page <= 7:
return await models_description_page(page, name, user_id)
elif page == 8:
#TODO
...
elif page == 9:
return await price_list_page(page, name)