Skip to content

alvhix/pywtdlib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python Wrapper TDLib

Description

A simple Python TDLib Wrapper (pywtdlib) that makes you easy to create new Python Telegram clients.

Installation

  1. By pip3
pip3 install pywtdlib

Setup

This project depends on TDLib. TDLib is the official cross-platform library for building Telegram clients written in C++.

Example:

This wrapper is so easy to use, for example the following code prints every new message that is received in your Telegram account.

from os import environ
from pywtdlib.client import Client
from pywtdlib.enum import Update
import logging

# (optional) set some logging to see what is happening under the hood
logging.basicConfig(
    filename="app.log",
    filemode="a",
    level=logging.INFO,
    format="%(asctime)s [%(filename)s:%(lineno)d]|%(levelname)s|%(message)s",
)

# 1. instantiate the telegram client (put your API_ID and API_HASH from https://my.telegram.org/apps)
tg = Client(api_id=environ["API_ID"], api_hash=environ["API_HASH"])

# 2. define an update handler (every time an update is received, it will execute it)
# this will print in console every new message received
def print_messages(event):
    if event["@type"] == Update.NEW_MESSAGE:
        print(event)


# 3. add the update handler
tg.set_update_handler(print_messages)

# 4. start the client (press CTRL + C to stop)
tg.start()

Libraries

In the lib/ folder are located the binaries for Windows and Linux. If you need other binaries or you want to build by your own, go to the TDLib build page.

Logs

Support for basic logging

Issues

If you detect a bug or you have a suggestion, open a ticket with the corresponding template.