Skip to content

twoblocks/python-telegram

 
 

Repository files navigation

python-telegram

Build Status PyPI DockerHub Read the Docs (version)

Python API for the tdlib library. It helps you build your own Telegram clients.

Installation

This library works with Python 3.6+ only.

pip install python-telegram

See documentation for more details.

Docker

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)

How to use

Check the tutorial :)

Basic example:

    from python_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.

Development

Tests

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

About

Python client for the Telegram's tdlib

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 98.8%
  • Other 1.2%