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)
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 | Reset |
|---|---|---|---|---|
| telethon_secret_chat-0.2.4-py3-none-any.whl | Python 3 | none | any | Details |
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
|