Анонимный Telegram-бот для нескольких досок (каналов) в одном экземпляре бота.
aiogram 3(async handlers + callbacks)SQLModel(схема создается автоматически при старте)uvдля окружения и запуска- Роли:
superadminиboard_admin - Выбор доски пользователем через inline-кнопки
- Публикация текста с политикой "один активный пост на пользователя в доске"
- Установить зависимости:
uv sync- Создать
.env:
cp .env.example .env- Заполнить в
.envминимум:
BOT_TOKENSUPERADMIN_IDS(через запятую)
- Запустить:
uv run python -m app.main/admin— открыть админ-панель/board_create— создать доску (FSM)/board_archive— архивировать доску (выбор через кнопки)/board_activate— активировать доску (выбор через кнопки)/admin_add— выдать права админа/admin_remove— снять права админа/block_user— заблокировать пользователя в доске/unblock_user— разблокировать пользователя в доске/rate_limit_set— изменить rate limit доски/stats— статистика/cancel— отменить текущий FSM-флоу
Все выборы досок в админских сценариях делаются inline-кнопками.
/start— приветствие + выбор доски/boards— выбрать/сменить доску/help— помощь
- Линтер:
uv run ruff check . - Type checker (
ty):uv run ty check - Тесты:
uv run pytest
app/main.py— запуск ботаapp/handlers/— команды, сообщения, callbacksapp/db/— SQLModel модели, репозиторий, сессииapp/keyboards/— inline клавиатурыapp/locales/— сообщения (RU, расширяемо)