Introduction
Plugin development in the language most Telegram modders already use.
exteraGram Plugins
exteraGram plugins are written in Python and run inside the app through the built-in plugin engine.
The SDK in this repository is powered by Chaquopy v16 for Python interop and Xposed-style method hooking.
Current baseline
- Current SDK version in this repository:
1.4.3.6 - Python runtime:
3.11 - Recommended minimum app version for this SDK:
exteraGram 12.5.1+
App version matters
If the app build is too old, the SDK enters safe mode and plugin modules refuse to initialize.
In practice, treat 12.5.1+ as the baseline when writing or testing new plugins against this tree.
What you can do with the SDK
- register high-level plugin lifecycle hooks through
BasePlugin - intercept requests, responses, updates, and outgoing messages
- create plugin settings pages and custom settings rows
- show Telegram-style dialogs and bulletins
- send or edit messages and media
- reflect into Java classes and fields
- hook Java methods and constructors
- generate Java proxy classes from Python with
class proxy
Recommended reading order
Main modules at a glance
base_plugin: metadata, lifecycle, event hooks, menu items, Xposed helpersandroid_utils: UI thread helpers, listener wrappers, logging, clipboardclient_utils: requests, controllers, queues, sending and editing messagesfile_utils: directories plus simple file I/O helpershook_utils: reflection helpers for classes and private fieldsui.*: dialogs, bulletins, settingsextera_utils.*: class proxy DSL, text formatting helpers, metadata utilities