Python Telegram TDLib sync client


Keywords
telegram, telega, client, tglib
License
MIT
Install
pip install telega==1.1.10

Documentation

Telega

Description

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

Installation

pip install telega

Example

from telega import TelegramTDLibClient
from telega.client import ProxyTypes


telegram_client = TelegramTDLibClient(
    api_id=777,
    api_hash='abc',
    phone='911',
    database_encryption_key='NAd62byYz7em',
    # see all parameters in source code
)

telegram_client.set_proxy('111.111.111.111', 8080, ProxyTypes.proxyTypeHttp)
# telegram_client.check_proxy()  # ping if you need

if not telegram_client.is_authorized():
    password = input('2 factor auth password (if you have): ')
    telegram_client.auth_request()
    sms_code = input('sms_code: ')
    telegram_client.send_sms_code(sms_code, password)

print(telegram_client.get_all_chats())

Logging

Just set config for 'telega' logger. Also you can set C++ logging level - TelegramTDLibClient(tdlib_log_level=3)

import logging.config


LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'formatters': {'main': {'format': '[%(levelname)s] [%(asctime)s] [%(module)s:%(lineno)d] %(message)s',
                            'datefmt': '%d/%m/%Y %H:%M:%S'}},
    'handlers': {'console': {'level': 'DEBUG', 'class': 'logging.StreamHandler', 'formatter': 'main'}, },
    'loggers': {'telega': {'handlers': ['console'], 'propagate': False, 'level': 'INFO'}, }
}
logging.config.dictConfig(LOGGING)