Secret chat plugin for telethon, available on PyPi.
This is still a work in progress so expect more commits to it. Originally based on the End-to-End Encryption, Secret Chats document, but it wasn’t clear enough so I followed their advice and checked one of the implementations that had it (MadelineProto). Therefore, this plugin is based on Daniil’s implementation at its core.
Features
Installation
Easiest way is to install it through pip
pip install telethon-secret-chat~=0.2
Example
from telethon import TelegramClient
from telethon_secret_chat import SecretChatManager
client = TelegramClient(...)
async def replier(event):
# all events are encrypted by default
if event.decrypted_event.message and event.decrypted_event.message == "hello":
await event.reply("**hi**") # parse_mode is markdown by default
async def new_chat(chat, created_by_me):
if created_by_me:
print("User {} has accepted our secret chat request".format(chat))
else:
print("We have accepted the secret chat request of {}".format(chat))
manager = SecretChatManager(client, auto_accept=True,
new_chat_created=new_chat) # automatically accept new secret chats
manager.add_secret_event_handler(func=replier) # we can specify the type of the event
with client:
client.run_until_disconnected()
To start a secret chat you can call:
manager.start_secret_chat(target)
To use sqlite as a storage session you need to pass an sqlite connection to SecretChatManager:
manager = SecretChatManager(client, session=db_conn, auto_accept=True)
# you can also pass client.session from telethon as such
manager = SecretChatManager(client, session=client.session, auto_accept=True)
To manually accept incoming you can do as follow:
from telethon_secret_chat import SecretChatManager, SECRET_TYPES
manager = SecretChatManager(client, auto_accept=False)
manager.add_secret_event_handler(
event_type=SECRET_TYPES.accept,
func=accept_secret_chat_handler
)
In your handler, you can do the following:
await manager.accept_secret_chat(event.chat)
Metadata
Release files for telethon-secret-chat 0.2.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| telethon_secret_chat-0.2.4-py3-none-any.whl | Python 3 | none | any | Details for telethon_secret_chat-0.2.4-py3-none-any.whl |
Release files / telethon_secret_chat-0.2.4-py3-none-any.whl
| Download URL | telethon_secret_chat-0.2.4-py3-none-any.whl |
|---|---|
| Size | 24.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
918568c5f652b8ec24bc1a01c28c929f6b1544a7126664e64a95815fb7f0892c
|
|
BLAKE2b-256 checksum How to use checksums |
98acf5fdf078ab21212160d03d0a98142c4ce8dc27af0b527241a10facd64831
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.54.0 CPython/3.8.0
|
Security for telethon-secret-chat 0.2.4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.