Stage 01 - bootstrap v2 stable start
This commit is contained in:
1
app/src/telegram/handlers/__init__.py
Normal file
1
app/src/telegram/handlers/__init__.py
Normal file
@@ -0,0 +1 @@
|
||||
"""Package marker."""
|
||||
12
app/src/telegram/handlers/auto.py
Normal file
12
app/src/telegram/handlers/auto.py
Normal file
@@ -0,0 +1,12 @@
|
||||
from aiogram import F, Router
|
||||
from aiogram.types import Message
|
||||
|
||||
from src.telegram.menus import AUTO_TEXT
|
||||
|
||||
|
||||
router = Router(name="auto")
|
||||
|
||||
|
||||
@router.message(F.text == "🤖 Авто")
|
||||
async def open_auto(message: Message) -> None:
|
||||
await message.answer(AUTO_TEXT)
|
||||
12
app/src/telegram/handlers/home.py
Normal file
12
app/src/telegram/handlers/home.py
Normal file
@@ -0,0 +1,12 @@
|
||||
from aiogram import F, Router
|
||||
from aiogram.types import Message
|
||||
|
||||
from src.telegram.menus import HOME_TEXT
|
||||
|
||||
|
||||
router = Router(name="home")
|
||||
|
||||
|
||||
@router.message(F.text == "🏠 Главная")
|
||||
async def open_home(message: Message) -> None:
|
||||
await message.answer(HOME_TEXT)
|
||||
12
app/src/telegram/handlers/journal.py
Normal file
12
app/src/telegram/handlers/journal.py
Normal file
@@ -0,0 +1,12 @@
|
||||
from aiogram import F, Router
|
||||
from aiogram.types import Message
|
||||
|
||||
from src.telegram.menus import JOURNAL_TEXT
|
||||
|
||||
|
||||
router = Router(name="journal")
|
||||
|
||||
|
||||
@router.message(F.text == "📒 Журнал")
|
||||
async def open_journal(message: Message) -> None:
|
||||
await message.answer(JOURNAL_TEXT)
|
||||
12
app/src/telegram/handlers/market.py
Normal file
12
app/src/telegram/handlers/market.py
Normal file
@@ -0,0 +1,12 @@
|
||||
from aiogram import F, Router
|
||||
from aiogram.types import Message
|
||||
|
||||
from src.telegram.menus import MARKET_TEXT
|
||||
|
||||
|
||||
router = Router(name="market")
|
||||
|
||||
|
||||
@router.message(F.text == "📈 Рынок")
|
||||
async def open_market(message: Message) -> None:
|
||||
await message.answer(MARKET_TEXT)
|
||||
12
app/src/telegram/handlers/portfolio.py
Normal file
12
app/src/telegram/handlers/portfolio.py
Normal file
@@ -0,0 +1,12 @@
|
||||
from aiogram import F, Router
|
||||
from aiogram.types import Message
|
||||
|
||||
from src.telegram.menus import PORTFOLIO_TEXT
|
||||
|
||||
|
||||
router = Router(name="portfolio")
|
||||
|
||||
|
||||
@router.message(F.text == "💼 Портфель")
|
||||
async def open_portfolio(message: Message) -> None:
|
||||
await message.answer(PORTFOLIO_TEXT)
|
||||
29
app/src/telegram/handlers/start.py
Normal file
29
app/src/telegram/handlers/start.py
Normal file
@@ -0,0 +1,29 @@
|
||||
from aiogram import F, Router
|
||||
from aiogram.filters import Command
|
||||
from aiogram.types import Message
|
||||
|
||||
from src.telegram.keyboards.reply import build_main_menu_keyboard
|
||||
from src.telegram.menus import MAIN_MENU_TEXT, SYSTEM_TEXT
|
||||
|
||||
|
||||
router = Router(name="start")
|
||||
|
||||
|
||||
@router.message(Command("start"))
|
||||
async def cmd_start(message: Message) -> None:
|
||||
await message.answer(MAIN_MENU_TEXT, reply_markup=build_main_menu_keyboard())
|
||||
|
||||
|
||||
@router.message(Command("menu"))
|
||||
async def cmd_menu(message: Message) -> None:
|
||||
await message.answer(MAIN_MENU_TEXT, reply_markup=build_main_menu_keyboard())
|
||||
|
||||
|
||||
@router.message(Command("help"))
|
||||
async def cmd_help(message: Message) -> None:
|
||||
await message.answer(SYSTEM_TEXT, reply_markup=build_main_menu_keyboard())
|
||||
|
||||
|
||||
@router.message(F.text == "Меню")
|
||||
async def menu_shortcut(message: Message) -> None:
|
||||
await message.answer(MAIN_MENU_TEXT, reply_markup=build_main_menu_keyboard())
|
||||
21
app/src/telegram/handlers/system.py
Normal file
21
app/src/telegram/handlers/system.py
Normal file
@@ -0,0 +1,21 @@
|
||||
import platform
|
||||
|
||||
from aiogram import F, Router
|
||||
from aiogram.types import Message
|
||||
|
||||
from src.core.constants import APP_NAME, APP_VERSION
|
||||
from src.telegram.menus import SYSTEM_TEXT
|
||||
|
||||
|
||||
router = Router(name="system")
|
||||
|
||||
|
||||
@router.message(F.text.in_({"⚙️ Система", "⚙ Система"}))
|
||||
async def open_system(message: Message) -> None:
|
||||
runtime_info = (
|
||||
"\n\n<b>Runtime</b>\n"
|
||||
f"- app: {APP_NAME} {APP_VERSION}\n"
|
||||
f"- python: {platform.python_version()}\n"
|
||||
f"- os: {platform.system()} {platform.release()}"
|
||||
)
|
||||
await message.answer(SYSTEM_TEXT + runtime_info)
|
||||
12
app/src/telegram/handlers/trade.py
Normal file
12
app/src/telegram/handlers/trade.py
Normal file
@@ -0,0 +1,12 @@
|
||||
from aiogram import F, Router
|
||||
from aiogram.types import Message
|
||||
|
||||
from src.telegram.menus import TRADE_TEXT
|
||||
|
||||
|
||||
router = Router(name="trade")
|
||||
|
||||
|
||||
@router.message(F.text == "⚡ Торговля")
|
||||
async def open_trade(message: Message) -> None:
|
||||
await message.answer(TRADE_TEXT)
|
||||
Reference in New Issue
Block a user