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.2.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 743d3c0d96543300e426337b442871808edf5afa449cac48cb1e49d9226bd8ca |
|
MD5 | e4822029da4f50907abbeb663fe818a7 |
|
BLAKE2b-256 | 84d3819fac0a7232424f4d5ebed8e10f0c35bd2dc51cde610463722da2df0910 |
Hashes for telethon_secret_chat-0.2.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 97fd0b1c7ecf19475fb4e341dbacb2430efaddd6394417b9c2cfc37c6123f915 |
|
MD5 | 06feb8aa1047b1b890acd7b07e9c217d |
|
BLAKE2b-256 | 17ccee324b69265349f1d4b37f1a01780ed5167750d2732f6a779cb0cf2af7e2 |