Skip to content

Python client for the Telegram's tdlib (but without namespace conflict)

License

Notifications You must be signed in to change notification settings

Nikita2305/python-telegram-simple

 
 

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 requires Python 3.6+ and Linux or MacOS.

pip install git+https://github.com/Nikita2305/python-telegram-simple.git#egg=python-telegram-simple

See documentation for more details.

Docker

This library has a 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

Have a look at the tutorial :)

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, 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 you 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

More examples you can find in the /examples/ directory.


More information in the documentation.

Development

See CONTRIBUTING.md.

About

Python client for the Telegram's tdlib (but without namespace conflict)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 98.6%
  • Makefile 1.2%
  • Dockerfile 0.2%