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.16.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 867db98013f75e5d072e4ff3c1c3bad7737d053312eee3e83b0ee42d71ee98ba |
|
MD5 | d1196ff8547687f3a167a7d3d467563f |
|
BLAKE2b-256 | 7a285b3b6aff7bd7b14b6c1cea5d54f78514d6a0bcef8ce0996799a36976baad |
Hashes for telethon_secret_chat-0.1.16-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e8912caabec6a72af1202e6e6695daefe2b9458ff9186d5df2933a7f803e8d46 |
|
MD5 | 999d709975072b2a2e247937587ec728 |
|
BLAKE2b-256 | cc32d0f8219a620862a5110d56513242d7ee2df6a6493c4b89ee81ae60a177e0 |