initial commit
Some checks failed
CI / Run tests (push) Has been cancelled
CI / Docker build test (push) Has been cancelled
CI / Lint (ruff + mypy) (push) Has been cancelled

This commit is contained in:
2026-03-30 16:46:26 +07:00
commit 2a7dfa95c8
67 changed files with 5864 additions and 0 deletions

View File

@@ -0,0 +1,36 @@
from aiogram.types import InlineKeyboardMarkup
from aiogram.utils.keyboard import InlineKeyboardBuilder
def help_menu_keyboard(is_admin: bool) -> InlineKeyboardMarkup:
builder = InlineKeyboardBuilder()
builder.button(text="Сводка за неделю", callback_data="help:week")
builder.button(text="Сегодня", callback_data="help:today")
builder.button(text="Топ issues", callback_data="help:top")
builder.button(text="Старые issues", callback_data="help:stale")
builder.button(text="Релизы", callback_data="help:releases")
builder.button(text="Статус sync", callback_data="help:sync_status")
builder.button(text="Подписка backend", callback_data="help:sub:backend")
builder.button(text="Подписка frontend", callback_data="help:sub:frontend")
builder.button(text="Отписка backend", callback_data="help:unsub:backend")
builder.button(text="Отписка frontend", callback_data="help:unsub:frontend")
if is_admin:
builder.button(text="Админ-панель", callback_data="admin:open")
builder.adjust(2)
return builder.as_markup()
def admin_menu_keyboard() -> InlineKeyboardMarkup:
builder = InlineKeyboardBuilder()
builder.button(text="Запустить sync", callback_data="admin:sync")
builder.button(text="Статус sync", callback_data="admin:sync_status")
builder.button(text="Ownership", callback_data="admin:ownership")
builder.button(text="Mute rules", callback_data="admin:mute_list")
builder.button(text="Релизы", callback_data="admin:releases")
builder.button(text="Today", callback_data="admin:today")
builder.button(text="Week digest", callback_data="admin:week")
builder.button(text="Топ issues", callback_data="admin:top")
builder.button(text="Старые issues", callback_data="admin:stale")
builder.button(text="Инструкция", callback_data="admin:guide")
builder.adjust(2)
return builder.as_markup()