admin v0.2.2 [base]


Админ-ядро TG (AdminMenu): главное меню, права, скрипты, журнал, бэкапы.

versiondatecommitфайлов
0.2.22026-09-162d7d04615b3112

README

# admin `0.2.2`

Админ-ядро TG (AdminMenu): главное меню, права, скрипты, журнал, бэкапы. Две стороны: меню в Telegram и карточки в кабинете.

Тип: Модуль. Категория: `base`. Зависимостей нет.

## Описание

- В Telegram — главное меню `/start` с кнопками (администрирование, управление ботом, скрипты, уведомления, свой ID), видимость кнопок — по правам.
- Управление: перезапуск службы бота, перезагрузка и выключение хоста; каждое действие под своим правом, пароль sudo — только из `.env`.
- Админы: назначение и снятие TG-админов (пишет в `.env`, права сидит через `access`).
- Скрипты: каталог `scripts_admin/` удалён, скрипты обслуживания теперь живут в `services/scripts` — список, запуск, просмотр и правка текста из кабинета.
- Журнал: сообщения пользователей боту (включая группы) — кто, когда, что писал; поиск и фильтры в кабинете.
- Раскладка кнопок `/start` (порядок, ширина, скрытие) правится в кабинете без правки кода.

## Возможности

- `admin.menu {}` → движок AdminMenu (тот же объект, что обслуживает кнопки TG)
- `admin.toggle_right {key: 'telegram|vk|web:<id>', right}` → переключить право, вернуть новое значение
- `admin.journal {limit=200}` → хвост журнала сообщений (кто/что/когда, включая группы)

## Права

- `restart_bot` — Перезапуск службы бота (POST /api/admin/system action=restart_bot)
- `restart_machine` — Перезагрузка хоста (POST /api/admin/system action=restart_machine)
- `shutdown_host` — Выключение хоста (POST /api/admin/system action=shutdown)
- `manage_admins` — Назначение/снятие TG-админов (POST /api/admin/admins)
- `receive_notifications_new_user` — Уведомления о новых пользователях (модуль admin)
- `receive_notifications_new_user_edit` — Право менять себе уведомления о новых пользователях
- `run_scripts` — Запуск скриптов обслуживания (GET/POST /api/admin/scripts)
- `view_user_messages` — Журнал сообщений пользователей (GET /api/admin/messages)
- `menu_edit` — Группы Telegram (TG-команды group*, /api/admin/group*)

## Telegram

- `/start` — главное меню (кнопки по правам)
- `/id` — свой TG id (нужен для выдачи прав)

## Web

- `POST /api/admin/admins` — назначение/снятие админов
- `POST /api/admin/system` — restart_bot / restart_machine / shutdown
- `GET /api/admin/scripts`, `POST /api/admin/scripts` — список и запуск скриптов из `services/scripts`
- `GET /api/admin/messages` — журнал сообщений с поиском
- `GET /api/admin/group`, `POST /api/admin/group`, `GET /api/admin/group/messages` — группы Telegram
- `GET /api/admin/tgmenu`, `POST /api/admin/tgmenu` — раскладка кнопок /start
- Карточки кабинета: «Система», «Скрипты», «Сообщения», «Меню /start»

## Конфигурация (`config.schema.json`)

- Обязательных нет.
- Опциональные (дефолты): `PAGE_SIZE` = `20`, `LOG_CONSOLE_MAX_MB` = `50`; остальные пусты по умолчанию: `ADMIN_PASS`, `CACHE_USER_MESSAGES`, `CACHE_FILE_NETWORK`, `SCAN_NETWORK_IGNORED_MACS`, `LOG_CONSOLE`, `BACKUP_DIR`, `F2B_CACHE`, `SYSTEMD_SERVICE`, `REMOTE_PASSWORD_WIN`, `REMOTE_PASSWORD_DOCKER`, `LOCAL_PASSWORD`, `REMOTE_HOST_WIN`, `REMOTE_USER_WIN`, `REMOTE_HOST_DOCKER`, `REMOTE_USER_DOCKER`

Манифест

{
  "name": "admin",
  "version": "0.2.2",
  "category": "base",
  "description": "Админ-ядро TG (AdminMenu): главное меню, права, скрипты, журнал, бэкапы.",
  "requires": [],
  "rights": [],
  "api_methods": [],
  "web_routes": [],
  "commit": "2d7d04615b31be9f5bbd91d5d61671182164bf39",
  "updated": "2026-09-16 16:35:50 +0300",
  "integrity": "sha256:77902a4a084812eea8ee9419310a5a95957c43c134a8f010277cadbba20f4cea",
  "tree_url": "http://10.10.10.30:3000/euk0r/bot_modular/src/branch/main/modules/admin",
  "raw_url": "http://10.10.10.30:3000/euk0r/bot_modular/raw/branch/main/modules/admin/module.py",
  "files": "[12 файлов — см. вкладки ниже]",
  "note": "Управление ботом",
  "_extra": {
    "api": "",
    "events_emitted": "[]",
    "events_subscribed": "[]",
    "audit_allow": "",
    "uses_rights": "",
    "tg_commands": "",
    "shared_routes": "",
    "config_schema": "config.schema.json",
    "env_example": ".env.example"
  }
}

Файлы и исходники

Дерево файлов

  • · корень
    • 4.3 КБ
    • 1.0 КБ
    • 0.5 КБ
    • 61.9 КБ
    • 2.9 КБ
    • 5.2 КБ
    • 0.3 КБ
    • 6.9 КБ
    • 1.4 КБ
    • 17.2 КБ
  • web/
    • 5.0 КБ
    • 20.5 КБ

Предпросмотр

Выберите файл в дереве выше — код откроется здесь.