Must be subclassed by a plugin to set up various aspects of the XMPP
- slidge.plugins.telegram.gateway.REGISTRATION_INSTRUCTIONS = Multiline-String#
1You can visit https://my.telegram.org/apps to get an API ID and an API HASH 2 3This is the only tested login method, but other methods (password, bot token, 2FA...) 4should work too, in theory at least.
- class slidge.plugins.telegram.gateway.Gateway#
Must be subclassed by a plugin to set up various aspects of the XMPP component behaviour, such as its display name or its registration process.
On slidge launch, a singleton is instantiated, and it will be made available to public classes such
.xmppattribute. Since it inherits from
slixmpp.componentxmpp.ComponentXMPP, this gives you a hand on low-level XMPP interactions via slixmpp plugins, e.g.:
self.send_presence( pfrom="email@example.com", pto="firstname.lastname@example.org", )
However, you should not need to do so often since the classes of the plugin API provides higher level abstractions around most commonly needed use-cases, such as sending messages, or displaying a custom status.
- REGISTRATION_MULTISTEP = True#
- ROSTER_GROUP = Telegram#
- COMPONENT_NAME = Telegram (slidge)#
- COMPONENT_TYPE = telegram#
- COMPONENT_AVATAR = https://web.telegram.org/img/logo_share.png#
- async validate(user_jid, registration_form)#
Validate a registration form from a user.
Since XEP-0077 is pretty limited in terms of validation, it is OK to validate anything that looks good here and continue the legacy auth process via direct messages to the user (using
- async unregister(user)#
Optionally override this if you need to clean additional stuff after a user has been removed from the permanent user_store.
- async adhoc_active_sessions1(iq, adhoc_session)#
s (aiotdlib.api.Session) –