Skip to content

feat(telegram): ролевая система и модерация - #21

Merged
Flexlug merged 11 commits into
mainfrom
feat/telegram-roles
Jun 28, 2026
Merged

feat(telegram): ролевая система и модерация#21
Flexlug merged 11 commits into
mainfrom
feat/telegram-roles

Conversation

@Flexlug

@Flexlug Flexlug commented Jun 28, 2026

Copy link
Copy Markdown
Owner

Summary

  • Role enum (Owner > Admin > Moderator > User) + can_grant/can_revoke
  • ModerationStore — async SQLite (роли, настройки пользователей, баны, аудит-лог)
  • Транслитерация — кириллица → латиница для LoRa-эфира
  • TelegramCommandsConfig — опциональный блок commands: в конфиге
  • Команды /ban, /unban, /banlist, /set-alias, /set-transliter, /role, /audit (с инлайн-пагинацией), /ping, /help (фильтр по роли)
  • Интеграция в транспорт — бан блокирует бриджинг, alias/транслит применяются к нику, per-user меню Telegram
  • mkdocsemit_commands_page + emit_specs_index генерируют страницы авто-доки

Test plan

  • uv run pytest — 322 тестов, 0 падений
  • Команды задокументированы: reference/commands.md генерируется из реестра
  • Проверить /ban @user, /role grant moderator <id>, /audit с пагинацией
  • Убедиться что забаненный не может слать сообщения в LoRa

🤖 Generated with Claude Code

@Flexlug
Flexlug merged commit 7f0e05d into main Jun 28, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant