Skip to content

Repository files navigation

AutoCraft Bot

AutoCraft Bot 1.1.9beta1 - программа для управления и мониторинга компьютера на Windows.

Сейчас это не только Telegram-бот, но и веб-панель для удалённой работы с системой: мониторинг, управление, сервисные инструменты, роли пользователей и расширяемая архитектура.

Проект изначально делался с упором на удобство и практику: кнопки вместо хаоса, понятная навигация и нормальная работа со скринридерами (TalkBack, VoiceOver, NVDA). Веб-панель тоже делалась с учётом доступности. Её можно запускать отдельно, даже если Telegram-бот не используется.

Проект рассчитан на простоту: можно запустить готовую сборку EXE (без установки Python) или работать из исходников.


Что нового в версии 1.1.9beta1

В версии 1.1.9beta1 AutoCraft Bot получил не только развитие веб-панели, но и ряд практических доработок для повседневной удалённой работы с системой. Проект стал удобнее как для администрирования, так и для обычных сервисных задач.

Основные функции веб-панели

  • Мониторинг и аудит: статусы, события, журналы, базовая диагностика и контроль работы системы.
  • Центр коммуникаций: встроенные разделы мессенджера, уведомлений и коммуникационного центра.
  • Файловый менеджер: работа с файлами и папками через веб-интерфейс.
  • Терминал: выполнение команд в веб-панели.
  • Управление питанием: выключение, перезагрузка и другие действия с питанием ПК.
  • Редактор реестра: базовые операции с реестром Windows через интерфейс.
  • Диспетчер устройств: просмотр и управление устройствами (по мере развития модуля).
  • Прямая трансляция с камер (beta): поток с подключённых камер для системного анализа.
  • Удалённый рабочий стол (beta): функция в разработке, может работать не на всех версиях Windows, дорабатывается.
  • Пользователи и роли: добавление пользователей и разграничение доступа.
  • Расширения и плагины: новые функции можно добавлять без правки основного кода, панель подхватывает их автоматически.
  • Запуск без Telegram-бота: веб-панель можно поднять отдельно, если нужен только веб-доступ.

Основные изменения в 1.1.9beta1

  • Добавлена отправка клавиатурных комбинаций для удалённого управления системой через веб-панель.
  • Добавлено отображение температур комплектующих, что делает мониторинг состояния ПК более информативным.
  • Удалённый рабочий стол доработан: улучшена стабильность и общий сценарий использования.
  • Реализована установка расширений уже в скомпилированном варианте, без необходимости пересобирать программу вручную.
  • Продолжено развитие веб-панели как отдельного интерфейса для управления и мониторинга Windows-компьютера.

Важно: версия 1.1.9beta1 остаётся тестовой, поэтому отдельные функции ещё могут дорабатываться.


Что умеет

Веб-панель (1.1.9beta1)

  • ✅ Отдельный web-интерфейс для управления и мониторинга Windows-компьютера.
  • ✅ Веб-разделы: мессенджер, уведомления, центр коммуникаций.
  • ✅ Веб-инструменты: файловый менеджер, терминал, редактор реестра, питание, диспетчер устройств.
  • ✅ Веб (beta): прямая трансляция с камер и доработанный удалённый рабочий стол.
  • ✅ Роли и пользователи в веб-панели: разграничение доступа и администрирование.
  • ✅ Отправка клавиатурных комбинаций через веб-панель для удалённого управления.
  • ✅ Отображение температур комплектующих в мониторинге.
  • ✅ Веб-панель можно запускать отдельно от Telegram-бота.

Telegram-бот и базовые функции

  • Дополнительно -> Громкость: выбор устройства воспроизведения и изменение громкости прямо из Telegram.
  • Заметки: быстрые заметки из Telegram (хранятся в notes/ в .txt).
  • Главное меню бота с кнопками (настраивается, можно прятать и показывать пункты).
  • Список плагинов и менеджер плагинов: установка, обновление, удаление, автозапуск, резервные копии.
  • ✅ Установка расширений доступна и в скомпилированной версии программы.
  • Утилиты: файловый менеджер, службы Windows, BAT-скрипты, сеть, управление браузером и др.
  • Диагностика окружения: тесты, сбор информации и проверка устойчивости (полезно разработчику).
  • Статус сервера: ОС, CPU, RAM, диски, быстрый мониторинг.
  • Питание: выключение, перезагрузка, сон, гибернация, выход из системы.
  • Отправка и приём файлов через Telegram.
  • Особые функции: мультимедиа и системные возможности (камера, микрофон, запись экрана, синтез речи) с явным предупреждением о законном использовании.

Скриншоты

Скриншоты лежат в docs/screenshots/ (имена уже GitHub-friendly).
Ниже самые важные, остальное смотрите в документации.

GUI (Windows)

Главное окно AutoCraft Bot: поля токена, PIN, Telegram API и панель логов

Окно менеджера плагинов: список, статусы, автозапуск, действия

Telegram-бот

Telegram: главное меню (настраиваемое)

Telegram: «Особые функции» (мультимедиа/система) с предупреждением


Документация интерфейса


Быстрый старт (готовый EXE)

Если вы используете готовую сборку EXE, то обычно всё просто:

  1. Запустите AutoCraft Bot.exe.
  2. Введите:
    • Токен Telegram-бота
    • PIN-код (для авторизации)
    • ID аккаунтов (разрешённые Telegram ID, через запятую)
  3. При необходимости настройте Telegram API:
    • локальный API (например, 127.0.0.1:33433) или стандартный сервер
  4. Откройте чат с ботом в Telegram и пользуйтесь меню с кнопками.

В EXE-режиме можно добавлять, устанавливать и удалять расширения и плагины (папка plugins/) без перекомпиляции.


Как получить токен Telegram-бота (BotFather)

  1. Откройте в Telegram бота @BotFather.
  2. Выполните команду /newbot и задайте имя/username.
  3. BotFather выдаст Bot Token вида 123456:ABC... - это и есть токен, который вводится в AutoCraft Bot.

Что обычно вводится в GUI:

  • Bot Token - токен от BotFather.
  • PIN-код - ваш код авторизации (не сообщайте его посторонним).
  • Разрешённые Telegram ID - список ID, кому разрешено управлять ПК (через запятую).

Если не знаете свой Telegram ID, воспользуйтесь любым ID-ботом в Telegram или посмотрите его в логах AutoCraft Bot при первом обращении.


Данные для локального Telegram Bot API (опционально)

AutoCraft Bot может работать через локальный telegram-bot-api (это отдельный сервер, который крутится на вашем ПК). Это полезно, когда нужен локальный контур, стабильность и больше контроля.

Обычно нужны 3 типа данных:

  1. Bot Token (из BotFather)
    Токен тот же самый, что и для обычного режима. Локальный API не заменяет токен, он просто меняет маршрут запросов.

  2. Адрес локального API (base URL)
    Пример: http://127.0.0.1:33433 (порт зависит от ваших настроек).

  3. API_ID и API_HASH (для запуска локального telegram-bot-api сервера)
    Берутся на сайте Telegram:

    • зайдите на https://my.telegram.org
    • откройте раздел API development tools
    • создайте приложение (любое имя и описание)
    • получите api_id и api_hash

Где это настраивается:

  • в GUI есть окно telegram-bot-api-server (Local Mode, порт, пути Data/Temp и т.д.)
  • при включённом локальном режиме AutoCraft Bot начинает ходить в Telegram через этот локальный сервер
  • в EXE-режиме папки serverapibot/ и python/ используются для локального API и разворачиваются автоматически при запуске

Установка из исходников (Python)

Если у вас своё рабочее окружение (VS Code, Python), можно запускать проект из исходников.

  1. Установите Python 3.11.
  2. Установите зависимости. Команды лучше запускать отдельно, сначала первую, потом вторую.
pip install -r requirements.txt
pip install -r requirements-web.txt
  1. Запустите основной файл проекта:
python bot-ok.py

Главная идея: всё через кнопки (доступно скринридерам)

AutoCraft Bot сделан так, чтобы в Telegram можно было работать удобно и без лишней возни:

  • ReplyKeyboard: большие кнопки под полем ввода
  • кнопки "Назад" / "Вернуться" в подменю
  • чёткие текстовые подсказки (скринридер нормально озвучивает контекст)
  • команда /menu возвращает в главное меню и при необходимости сбрасывает активные режимы

Главное меню: настраиваемое

В боте есть настройка видимости пунктов главного меню:

  • включить или выключить конкретные пункты (кнопки вида Включить: ... / Выключить: ...)
  • изменения сохраняются в config.ini, секция [mainmenu_visibility]

Ярлыки утилит в главном меню

Раздел «Утилиты» живёт отдельно, но отдельные утилиты можно закреплять как ярлыки в главное меню.

Идея простая:

  • если утилиты зарегистрированы в utilities_registry, их можно включить в настройке видимости
  • после этого они появятся на главной клавиатуре

Раздел «Утилиты»

В Telegram доступен раздел «Утилиты» (категории инструментов). Примеры разделов:

  • Файловый менеджер (полноценная работа с файлами через Telegram)
  • Работа со службами (управление службами Windows)
  • Работа с BAT (запуск и управление BAT-сценариями и задачами)
  • Диагностика окружения
  • Работа с сетью
  • Управление браузером

Файловый менеджер (внутри «Утилит»)

В «Утилитах» есть полноценный файловый менеджер, который работает полностью через кнопки (ReplyKeyboard), без режима "пиши команды руками".

По сути, это "проводник через Telegram", но с нормальной навигацией:

  • просмотр содержимого папок (вперёд и назад)
  • быстрые действия над файлами и каталогами (скачать в Telegram, удалить, переименовать, создать папку и т.д.)
  • удобная связка с папками files/ и infiles/ (см. ниже)

Это особенно полезно, когда нужно быстро перекинуть файлы или проверить состояние ПК, не заходя в RDP и не открывая проводник Windows.


Меню «Дополнительно» (Telegram)

В Telegram у бота есть раздел «Дополнительно». Это "карман" для сервисных функций, которые нужны постоянно:

  • заметки (быстрый блокнот)
  • отправка и приём файлов
  • питание (выключение, перезагрузка, сон и т.д.)
  • связь с разработчиком
  • громкость: можно выбрать устройство воспроизведения и поменять уровень громкости

Это удобно, когда ПК стоит где-то "в другом мире", а звук внезапно ушёл не туда.


Менеджер плагинов

Перед тем как писать свой плагин, обязательно загляните в документ: Strict instructions for writing plugins.

Менеджер плагинов есть:

  • в GUI (Windows-окно)
  • в Telegram (меню «Плагины»)

Типовые возможности:

  • список плагинов
  • установка и обновление
  • запуск и выгрузка
  • удаление
  • автозапуск
  • резервные копии (бэкап и восстановление)

Плагины без перекомпиляции (важно)

Если вы запускаете EXE-сборку, новые функции можно добавлять так:

  1. Создайте папку с плагином в plugins/.
  2. Добавьте код плагина (по шаблону проекта).
  3. Перезапустите приложение или обновите список плагинов.

То есть без правки исходников и без Nuitka можно расширять функциональность.


Дополнение своими модулями (из исходников)

Если вы разрабатываете проект из исходников, можно добавить новый модуль или функцию:

  • написать файл-модуль по принятому в проекте формату (реестры, хэндлеры, точка входа)
  • собрать EXE через Nuitka или запускать напрямую через Python

В проекте предусмотрена архитектура модулей и реестров, чтобы меню и функции собирались динамически.


Локальный Telegram Bot API

Проект умеет работать через локальный telegram-bot-api сервер (например, 127.0.0.1:33433). Это полезно, когда нужен локальный контур и больше контроля.

В GUI есть отдельное окно telegram-bot-api-server с:

  • Local Mode
  • портом, путями Data/Temp
  • логами UI и API
  • автозапуском

Файлы больших размеров в локальном Telegram Bot API

Если вы используете локальный telegram-bot-api, AutoCraft Bot может работать с большими файлами, вплоть до ~2 ГБ.

На практике всё упирается в файловую систему, диск и настройки сервера, но идея простая: локальный контур = меньше узких мест и больше контроля.


Папки и файлы, которые создаёт программа (и зачем)

Некоторые папки создаются автоматически в процессе работы. Это нормально, они нужны.

Базовые

  • config.ini - настройки (в том числе видимость главного меню, режимы, debug и т.п.)
  • plugins/ - ваши плагины
  • plugins_backup/ - резервные копии плагинов (создаётся менеджером плагинов)
  • files/ - сюда сохраняются файлы, которые вы отправляете боту (приём файлов)
  • infiles/ - файлы, которые бот может отправлять вам (отправка файлов)
  • log/ - логи работы (GUI, бот, модули)

Служебные

  • cache/, temp/ - временные данные и кэш
  • __pycache__/ - кэш Python (если запускаете из исходников)

Для локального Telegram Bot API и менеджера плагинов (актуально для EXE)

  • serverapibot/ - компоненты локального telegram-bot-api (сервер, данные, временные файлы, настройки)
  • python/ - поставляемый Python-рантайм, который используется:
    • менеджером плагинов (служебные операции, установка, проверки и т.п.)
    • вспомогательными действиями при локальном Telegram API

Всё это разворачивается автоматически при запуске (если используется готовая EXE-сборка и включены нужные функции).
Удалять python/ и serverapibot/ не стоит, иначе локальный Telegram API и часть сервисных операций могут перестать работать.

Дополнительные рабочие папки (создаются автоматически)

Помимо базовых каталогов, в процессе работы могут появляться такие папки:

  • notes/ - заметки (.txt), которые вы создаёте и читаете из меню «Дополнительно»
  • screenshots/ - скриншоты экрана и фото с камеры (если используете соответствующие функции)
  • sound/ - аудио: записи с микрофона и/или результаты синтеза речи (TTS)
  • videos/ - видео: запись экрана и/или видео с камеры

Эти папки создаются программой автоматически, руками их создавать не обязательно.

config.ini (важно)

config.ini - центральная точка настроек.
Там хранятся параметры для работы: режимы, debug, видимость пунктов главного меню, настройки локального Telegram API и т.д.


Безопасность

AutoCraft Bot даёт доступ к управлению ПК, поэтому:

  • не публикуйте токен бота в открытых местах
  • используйте PIN и список разрешённых Telegram ID
  • осторожно включайте "Особые функции" (камера, микрофон, экран)
  • используйте функции только на своём устройстве или с явного разрешения владельца

Для разработчика: диагностика окружения

В проекте есть утилита «Диагностика окружения»:

  • показывает важную информацию о среде
  • помогает тестировать EXE-режим
  • содержит тестовые действия для проверки устойчивости (например, имитация зависания или аварийного завершения)

Структура документации

  • docs/GUI_DESCRIPTION_RU.md - описание Windows GUI
  • docs/TELEGRAM_UI_RU.md - описание интерфейса Telegram-бота
  • docs/screenshots/ - скриншоты (GUI и Telegram)
  • Strict instructions for writing plugins. - строгая инструкция по разработке плагинов

Частые вопросы

Почему пункты меню отличаются?

Главное меню настраиваемое. Кроме того, пункты могут добавляться и убираться плагинами и утилитами.

Можно ли расширять без перекомпиляции?

Да. В EXE-режиме новые плагины добавляются в plugins/ и подхватываются менеджером плагинов.


Контакты и обратная связь

  • Telegram (обратная связь): @zotovsmol
  • Репозиторий: andreykadelite/AutoCraft-Bot
  • Связь с разработчиком доступна прямо из меню бота (раздел «Дополнительно»)

Лицензия

Смотрите файл LICENSE в репозитории.

About

No description, website, or topics provided.

Resources

Stars

31 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages