Python API for the tdlib library. If helps you build your own Telegram clients.
This library works with Python 3.6+ only.
See documentation to install
This library has docker image:
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)
Check the tutorial :)
Basic example:
from telegram.client import Telegram
tg = Telegram(
api_id='api_id',
api_hash='api_hash',
phone='+31611111111', # you can pass 'bot_token' instead
database_encryption_key='changekey123',
)
tg.login()
# if this is the first run, library needs to preload all chats
# otherwise the message will not be sent
result = tg.get_chats()
result.wait()
result = tg.send_message(
chat_id=args.chat_id,
text=args.text,
)
# `tdlib` is asynchronous, so `python-telegram` always returns you an `AsyncResult` object.
# You can receive a result with the `wait` method of this object.
result.wait()
print(result.update)
More examples you can find in the /examples/ directory.
More information in the documentation.
To run tests you need to install tox first.
Start tests:
tox
Run a specific test for python3.7:
tox -e py37 -- tests/test_telegram_methods.py::TestTelegram::test_add_message_handler