Привет, Хабр!
Меня зовут Андрей. Я техник и системный админ. И хоть я незрячий, продолжаю разрабатывать инструменты для автоматизации, системного мониторинга и просто удобной жизни за компьютером. Этот пост — о моём первом публичном проекте, который я решил выложить на GitHub и рассказать о нём на Хабре.
Проект называется AutoCraft Bot. Это гибрид: Telegram-бот и десктопное приложение на Python. Он управляет компьютером, запускает плагины, делает скриншоты, работает с голосом, поддерживает REPL и Telegram API — и всё это в виде одного .exe
файла.
📦 GitHub: github.com/andreykadelite/AutoCraft-Bot
👨💻 Почему и как я его сделал
AutoCraft — проект, сделанный с расчётом на работу без экрана. Интерфейс я создавал не полностью вслепую — делал скриншоты, отправлял в GPT и OCR-сервисы, сверял расположение элементов, и на основе этого дорабатывал GUI. Итог — рабочее и адаптированное приложение, которым удобно пользоваться как незрячим, так и зрячим пользователям.
🤖 Что такое AutoCraft Bot
Это Telegram-бот + GUI, работающий на Windows. Его возможности:
Получение системной информации (CPU, RAM, диски, сеть);
Управление питанием (перезагрузка, выключение);
Скриншоты и снимки с веб-камеры;
Запись и воспроизведение аудио;
Синтез речи и TTS;
Встроенная Python-консоль;
Работа с плагинами;
Поддержка локального Telegram API;
Единый
.exe
, работает без установки Python.
🎛 Интерфейс — тёмный, адаптированный
Адаптирован под экранные читалки;
Тёмная тема;
Горячие клавиши;
Настройка API, токенов, логов и автозапуска.
📲 Telegram: управление с телефона
В боте — reply-клавиатура с удобной навигацией:
Статус сервера | Статус сети | Скриншот | Список плагинов
Дополнительно | CMD | Утилиты | Консоль Python
В меню Дополнительно
— файлы, заметки, логирование, питание, плагины, особые функции и настройки.
⚙️ Настройки прямо в Telegram
Внутри бота ты можешь:
Включить/выключить логирование и дебаг;
Перезапустить, сбросить данные.
Лимиты на файлы автоматически меняются:
При стандартном Telegram API — обычные ограничения;
При локальном сервере — до 2 ГБ.
🐍 Python-консоль
Встроенная REPL, исполняемая прямо в чате:
Выполнение Python-кода (
print()
,import
, выражения);Базовая защита от
eval
,subprocess
,os
;“Опасный режим” по команде;
Результаты выводятся в чат или как
.txt
файл;Используется встроенный
python.exe
.
🔌 Менеджер плагинов
Каждый плагин:
лежит в
plugins/
,содержит
.py
и.json
файл с описанием и зависимостями.
Бот:
Автоматически создаёт
venv
;Устанавливает зависимости;
Импортирует модуль и вызывает
init_plugin(dp)
;Показывает кнопки, команды, меню плагина.
Менеджер умеет:
Устанавливать плагины по
.zip
;Показывать описание;
Переименовывать папки по JSON;
Удалять плагины;
Очищать временные файлы.
📄 Инструкция по созданию плагинов — в папке docs
репозитория.
В комплекте — демонстрационный плагин.
🎧 Медиа
AutoCraft использует встроенный ffmpeg.exe
для:
конвертации голосовых сообщений;
обработки видеофайлов;
работы с аудиоформатами.
Никаких дополнительных установок не требуется.
⚙️ Telegram API: стандартный и локальный
Поддерживаются два режима:
Стандартный: через Telegram-серверы;
Локальный: через Telegram Bot API (например,
tdlib
).
Преимущества локального:
Файлы до 2 ГБ;
Минимальные задержки;
Приватность.
Настраивается из GUI или Telegram.
В будущем планируется встроить Telegram API внутрь EXE.
🧪 Планы
📹 Запись видео с экрана;
☁️ Резервное копирование;
🧠 Умные режимы (профили, автоавторизация);
🔒 Безопасная удалёнка.
🛠 Компиляция
Сборка через Nuitka:
Один
.exe
;Python.zip
для REPL и плагинов;Вшитые зависимости и
ffmpeg
.
Можно запускать напрямую как .py
, если есть Python.
📦 Используемые зависимости
aiogram==2.25.1
psutil==5.9.5
speedtest-cli
pyautogui
PyQt5
requests
gTTS
pyttsx3
Pillow
comtypes
pycaw
opencv-python
numpy
sounddevice
soundfile
py-cpuinfo
wmi
📎 Ссылки
🔗 GitHub: github.com/andreykadelite/AutoCraft-Bot
📬 Telegram автора: @Cyberlinkboom
AutoCraft — это не просто бот. Это платформа для управления Windows с Telegram, адаптированная и гибкая. Я создавал её для себя, но надеюсь, она пригодится и вам.
Спасибо, что дочитали 🙏
Любой фидбек приветствуется.