Skip to content

maxamly/board-anon-bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

board-anon-bot

Анонимный Telegram-бот для нескольких досок (каналов) в одном экземпляре бота.

Что внутри

  • aiogram 3 (async handlers + callbacks)
  • SQLModel (схема создается автоматически при старте)
  • uv для окружения и запуска
  • Роли: superadmin и board_admin
  • Выбор доски пользователем через inline-кнопки
  • Публикация текста с политикой "один активный пост на пользователя в доске"

Быстрый старт

  1. Установить зависимости:
uv sync
  1. Создать .env:
cp .env.example .env
  1. Заполнить в .env минимум:
  • BOT_TOKEN
  • SUPERADMIN_IDS (через запятую)
  1. Запустить:
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/ — команды, сообщения, callbacks
  • app/db/ — SQLModel модели, репозиторий, сессии
  • app/keyboards/ — inline клавиатуры
  • app/locales/ — сообщения (RU, расширяемо)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors