pyTelegramBotAPI/examples/webhook_examples/README.md

2.2 KiB

Webhook examples using pyTelegramBotAPI

There are 5 examples in this directory using different libraries:

  • Python (CPython): webhook_cpython_echo_bot.py

    • Pros:
      • Official python libraries, it works out of the box (doesn't require to install anything).
      • Works with Python 2 and Python 3 (need to be converted with 2to3).
    • Cons:
      • Ugly code.
      • Many things to handle yourself, this can lead to errors.
      • Not powerful, do the trick but the performance is low.
  • CherryPy (3.8.0): webhook_cherrypy_echo_bot.py

    • Pros:
      • It's a web application framework, cleaner code, uses objects for defining the web application.
      • Very good performance.
      • The project seems to be active, latest version is recent.
      • Works with Python 2 and Python 3.
    • Cons:
      • Some things are not very intuitive, reading the doc is a must.
  • Flask (0.10.1): webhook_flask_echo_bot.py

    • Pros:
      • It's a web application framework, cleaner code, uses decorator which can be nice.
      • Good performance.
      • It's intuitive if you know how web application works.
    • Cons:
      • The project seems not to be very active, latest version dates 2013.
      • They don't recommend to use it with Python 3, but may work.
      • May be a oversized for just handling webhook petitions.
  • aiohttp (1.2.0): webhook_aiohttp_echo_bot.py

    • Pros:
      • It's a web application framework
      • Python 3 compatible
      • Asynchronous, excellent performance
      • Utilizes new async/await syntax
    • Cons:
      • Requires Python 3.4.2+, don't work with Python 2
  • Twisted (20.3.0): webhook_twisted_echo_bot.py

    • Pros:
      • Asynchronous event-driven networking engine
      • Very high performance
      • Built-in support for many internet protocols
    • Cons:
      • Twisted is low-level, which may be good or bad depending on use case
      • Considerable learning curve - reading docs is a must.
  • FastAPI(0.70.1): webhook_fastapi_echo_bot.py

    • Pros:
      • Can be written for both sync and async
      • Good documentation
    • Cons:
      • Requires python 3.6+

*Latest update of this document: 01-03-2022