Открытый исходный код системы плагинов DevGram: Python API, загрузчик
.dgplugin, нативный мост к Telegram Android и локальный Dev Server.
Документация · DevGram Builder · DevGram · Канал новостей
python/devgram— публичный Python API, который импортирует плагин.python/devgram_plugins.py— настоящий загрузчик и реестр плагинов: проверка.dgplugin, распаковка, зависимости, загрузка, события и перезагрузка.android/org/telegram/messenger/DevGramPlugins.java— нативный мост между Python и Telegram Android.android/org/telegram/messenger/DevGramDevServer.java— локальный сервер разработки для загрузки и перезапуска плагинов через ADB.tools/dgplugin_tools.py— функции проверки, безопасной распаковки и анализа пакетов.dgplugin.
Это не переписанная документационная версия, а копия реально используемых исходников DevGram. Текущий уровень API плагинов — 3.
python/devgram/__init__.py—BasePlugin, события, отправка сообщений, настройки и хуки.docs/ARCHITECTURE.md— как проходят вызовы между пакетом, Python и Android.python/devgram_plugins.py— жизненный цикл и проверка пакета.docs/NATIVE_BRIDGE.md— устройство Java-моста и его зависимости.docs/DGPLUGIN_FORMAT.md— содержимое пакета.dgplugin.
Python SDK выполняется внутри DevGram на встроенном Python 3.11 через Chaquopy.
Модули используют java.jclass, поэтому их нельзя запустить как обычный пакет
CPython без Android-среды.
Java-мост зависит от классов Telegram Android, Chaquopy, Android SDK и компонентов DevGram. Он опубликован отдельно для чтения, разработки API и синхронизации изменений, но не является самостоятельным Android-приложением.
Пакет .dgplugin не зашифрован: это ZIP-архив с манифестом и открытыми
Python-исходниками. DevGram принимает только точку входа .py и отклоняет
архивы с байткодом .pyc/.pyo.
python3 tools/dgplugin.py info plugin.dgplugin --files
python3 tools/dgplugin.py unpack plugin.dgpluginunpack безопасно извлекает исходники и ресурсы. Те же операции доступны как
функции inspect_package и extract_package из tools.dgplugin_tools.
python3 tools/sync_from_devgram.py /path/to/DevGram
python3 tools/check_sources.pyСкрипт копирует только файлы SDK и записывает их SHA-256 в
SOURCE_MANIFEST.json. Сгенерированные __pycache__ и файлы приложения в
репозиторий не попадают.
Исходный код распространяется по лицензии GNU GPL v2. См. LICENSE.