Python library to help you build your own Telegram clients
Project description
python-telegram
Python API for the tdlib library. It helps you build your own Telegram clients.
Installation
This library requires Python 3.9+ and Linux or MacOS. Windows is not supported.
pip install python-telegram
See documentation for more details.
tdlib
python-telegram comes with a precompiled tdlib library for Linux and MacOS. But it is highly recommended to compile it yourself.
The precompiled library may not work on some systems, it is dynamically linked and requires specific versions of additional libraries.
### Docker
This library has a [docker image](https://hub.docker.com/r/akhmetov/python-telegram/):
```sh
docker run -i -t --rm \
-v /tmp/docker-python-telegram/:/tmp/ \
akhmetov/python-telegram \
python3 /app/examples/send_message.py $(API_ID) $(API_HASH) $(PHONE) $(CHAT_ID) $(TEXT)
How to use the library
Check out the tutorial for more details.
Basic example:
from telegram.client import Telegram
from telegram.text import Spoiler
tg = Telegram(
api_id='api_id',
api_hash='api_hash',
phone='+31611111111', # you can pass 'bot_token' instead
database_encryption_key='changekey123',
files_directory='/tmp/.tdlib_files/',
)
tg.login()
# If this is the first run, the library needs to preload all chats.
# Otherwise, the message will not be sent.
result = tg.get_chats()
result.wait()
chat_id: int
result = tg.send_message(chat_id, Spoiler('Hello world!'))
# `tdlib` is asynchronous, so `python-telegram` always returns an `AsyncResult` object.
# You can receive a result with the `wait` method of this object.
result.wait()
print(result.update)
tg.stop() # You must call `stop` at the end of the script.
You can also use call_method to call any tdlib method:
tg.call_method('getUser', params={'user_id': user_id})
More examples can be found in the /examples/ directory.
More information is available in the documentation.
Development
See CONTRIBUTING.md.
Project details
Release history Release notifications | RSS feed
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file python_telegram-0.19.0.tar.gz.
File metadata
- Download URL: python_telegram-0.19.0.tar.gz
- Upload date:
- Size: 20.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7b5b2da3d01d4cf5776c92f91fdd35a0f98976eec2356726b338f59ba01d1373
|
|
| MD5 |
4742d1f7fba52c775bf663e687e0594b
|
|
| BLAKE2b-256 |
4976f102f251f55fa016093f14aa3373c354fef3a2a7cc035dea0d8783c69b4b
|
File details
Details for the file python_telegram-0.19.0-py3-none-any.whl.
File metadata
- Download URL: python_telegram-0.19.0-py3-none-any.whl
- Upload date:
- Size: 20.4 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1e1d5e065a000580eeaeb5b608e410651320f5d6c804e8e4e7568b6b614071bc
|
|
| MD5 |
7c129e911cfef2a76c630658487388a8
|
|
| BLAKE2b-256 |
02178995b7d036c9762f90964fc5897ab46458fcfc1ad1dd27fa063f726854b9
|