Telethon secret chat plugin
Project description
Secret chat plugin for telethon
This is still a work in progress so expect more commits to it. Used https://core.telegram.org/api/end-to-end at first but it wasn’t clear enough so I followed their advice and checked one of the implementations that had it https://github.com/danog/MadelineProto so this pluigin is based on daniil’s implementation at its core.
☒ Accepting secret chats
☒ Creating secret chats
☒ Closing secret chats
☒ Sending text messages
☒ Recieving text messages
☒ Uploading/downloading media
☒ Dealing with rekeying¹
☐ Saving secret chats keys to database²
☐ Saving messages to database³
☒ Automatic decryption/accepting/finishing
¹ Every 100 messages you need to recreate the auth key.
² Auth keys are saved client sides so if you restart the script you will lose all secret chats you had and can no longer recieve messages from them
³ There is no get_messages function in secret chats so users can’t see old messages.
Examples :
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") manager = SecretChatManager(client, auto_accept=True) # automatically accept new secret chats manager.add_secret_event_handler(func=replier) # we can specify the type of the event 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)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for telethon_secret_chat-0.1.15.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6c0a9eecdb18f1fb0ce139931d3d4dcb9f17d02c705b13bfdfd09ad63467f4ab |
|
MD5 | f6e87387409149f0a015ff6aa2403ae8 |
|
BLAKE2b-256 | c2c92e16c2040b00b3a2767a80bfc71a853f8cc2d2b0bf08e0947c4238127af5 |
Hashes for telethon_secret_chat-0.1.15-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 229076142f6c58d832f67906209c869c19d24f9e704571b78c2c105f4c4b9840 |
|
MD5 | 87c8f6453c0fbbd5ba6f1947bb12de3e |
|
BLAKE2b-256 | 19d2094d9bf8e89288cdc84ef3c99469c2034b9717bf11fe110de2cc211e9599 |