python-telegram-bot/README.rst

214 lines
7.5 KiB
ReStructuredText
Raw Normal View History

2015-12-13 21:18:59 +01:00
.. image:: https://github.com/python-telegram-bot/logos/blob/master/logo-text/png/ptb-logo-text_768.png?raw=true
:align: center
2016-07-24 01:21:35 +02:00
:target: https://python-telegram-bot.org
2015-12-13 21:18:59 +01:00
:alt: python-telegram-bot Logo
2015-07-08 00:28:22 +02:00
2016-07-24 01:16:57 +02:00
We have made you a wrapper you can't refuse
2015-07-08 00:28:22 +02:00
We have a vibrant community of developers helping each other in our `Telegram group <https://telegram.me/pythontelegrambotgroup>`_. Join us!
*Stay tuned for library updates and new releases on our* `Telegram Channel <https://telegram.me/pythontelegrambotchannel>`_.
2015-10-08 15:40:27 +02:00
2015-08-10 23:17:13 +02:00
.. image:: https://img.shields.io/pypi/v/python-telegram-bot.svg
2018-04-17 06:45:05 +02:00
:target: https://pypi.org/project/python-telegram-bot/
2015-08-10 23:17:13 +02:00
:alt: PyPi Package Version
2015-09-04 23:19:05 +02:00
.. image:: https://img.shields.io/pypi/pyversions/python-telegram-bot.svg
2018-04-17 06:45:05 +02:00
:target: https://pypi.org/project/python-telegram-bot/
:alt: Supported Python versions
.. image:: https://www.cpu.re/static/python-telegram-bot/downloads.svg
:target: https://www.cpu.re/static/python-telegram-bot/downloads-by-python-version.txt
:alt: PyPi Package Monthly Download
.. image:: https://img.shields.io/badge/docs-latest-af1a97.svg
:target: https://python-telegram-bot.readthedocs.io/
2015-08-11 23:15:45 +02:00
:alt: Documentation Status
2015-09-04 23:19:05 +02:00
2015-11-09 19:06:30 +01:00
.. image:: https://img.shields.io/pypi/l/python-telegram-bot.svg
:target: https://www.gnu.org/licenses/lgpl-3.0.html
2015-08-10 23:15:17 +02:00
:alt: LGPLv3 License
2015-07-08 00:28:22 +02:00
.. image:: https://travis-ci.org/python-telegram-bot/python-telegram-bot.svg?branch=master
:target: https://travis-ci.org/python-telegram-bot/python-telegram-bot
2015-08-11 19:37:32 +02:00
:alt: Travis CI Status
.. image:: https://img.shields.io/appveyor/ci/python-telegram-bot/python-telegram-bot/master.svg?logo=appveyor
2018-04-19 15:56:12 +02:00
:target: https://ci.appveyor.com/project/python-telegram-bot/python-telegram-bot
:alt: AppVeyor CI Status
2015-09-04 23:19:05 +02:00
.. image:: https://codecov.io/gh/python-telegram-bot/python-telegram-bot/branch/master/graph/badge.svg
:target: https://codecov.io/gh/python-telegram-bot/python-telegram-bot
:alt: Code coverage
.. image:: http://isitmaintained.com/badge/resolution/python-telegram-bot/python-telegram-bot.svg
:target: http://isitmaintained.com/project/python-telegram-bot/python-telegram-bot
:alt: Median time to resolve an issue
2016-02-01 18:14:17 +01:00
2018-10-01 22:16:48 +02:00
.. image:: https://api.codacy.com/project/badge/Grade/99d901eaa09b44b4819aec05c330c968
:target: https://www.codacy.com/app/python-telegram-bot/python-telegram-bot?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=python-telegram-bot/python-telegram-bot&amp;utm_campaign=Badge_Grade
:alt: Code quality
2016-01-09 14:57:46 +01:00
.. image:: https://img.shields.io/badge/Telegram-Group-blue.svg
2016-03-13 23:23:48 +01:00
:target: https://telegram.me/pythontelegrambotgroup
2016-01-09 14:57:46 +01:00
:alt: Telegram Group
2015-07-21 15:46:32 +02:00
2017-10-10 13:09:11 +02:00
.. image:: https://img.shields.io/badge/IRC-Channel-blue.svg
:target: https://webchat.freenode.net/?channels=##python-telegram-bot
:alt: IRC Bridge
2015-07-11 16:55:05 +02:00
=================
Table of contents
=================
- `Introduction`_
- `Telegram API support`_
2015-07-16 13:20:28 +02:00
2015-07-11 16:55:05 +02:00
- `Installing`_
2015-08-11 23:07:32 +02:00
- `Getting started`_
2015-07-12 15:35:37 +02:00
2016-03-23 21:36:34 +01:00
#. `Learning by example`_
2016-02-01 18:14:17 +01:00
2016-03-23 21:36:34 +01:00
#. `Logging`_
2016-01-04 11:34:47 +01:00
2016-03-23 21:36:34 +01:00
#. `Documentation`_
2015-07-21 14:37:10 +02:00
- `Getting help`_
2015-07-11 16:55:05 +02:00
- `Contributing`_
2015-07-11 16:55:05 +02:00
2016-04-24 18:39:48 +02:00
- `License`_
2016-05-29 12:35:52 +02:00
============
Introduction
============
2015-07-08 00:28:22 +02:00
2016-05-28 21:44:10 +02:00
This library provides a pure Python interface for the
`Telegram Bot API <https://core.telegram.org/bots/api>`_.
It's compatible with Python versions 2.7, 3.3+ and `PyPy <http://pypy.org/>`_.
2016-05-28 21:44:10 +02:00
In addition to the pure API implementation, this library features a number of high-level classes to
make the development of bots easy and straightforward. These classes are contained in the
``telegram.ext`` submodule.
2015-07-11 03:21:52 +02:00
2016-05-29 12:35:52 +02:00
====================
Telegram API support
====================
2015-07-16 13:20:28 +02:00
2018-09-01 17:27:35 +02:00
All types and methods of the Telegram Bot API **4.1** are supported.
2015-07-08 00:28:22 +02:00
2016-05-29 12:35:52 +02:00
==========
Installing
==========
2015-07-08 23:35:05 +02:00
You can install or upgrade python-telegram-bot with:
.. code:: shell
2015-07-21 14:42:22 +02:00
$ pip install python-telegram-bot --upgrade
2015-07-08 23:35:05 +02:00
Or you can install from source with:
.. code:: shell
$ git clone https://github.com/python-telegram-bot/python-telegram-bot --recursive
$ cd python-telegram-bot
$ python setup.py install
In case you have a previously cloned local repository already, you should initialize the added urllib3 submodule before installing with:
.. code:: shell
$ git submodule update --init --recursive
2016-09-24 15:46:02 +02:00
2016-05-29 12:35:52 +02:00
===============
Getting started
===============
2015-07-08 00:28:22 +02:00
2016-05-28 21:44:10 +02:00
Our Wiki contains a lot of resources to get you started with ``python-telegram-bot``:
2016-04-25 09:58:09 +02:00
2016-05-28 21:44:10 +02:00
- `Introduction to the API <https://github.com/python-telegram-bot/python-telegram-bot/wiki/Introduction-to-the-API>`_
- Tutorial: `Your first Bot <https://github.com/python-telegram-bot/python-telegram-bot/wiki/Extensions-%E2%80%93-Your-first-Bot>`_
2016-05-28 21:44:10 +02:00
Other references:
2016-05-28 21:44:10 +02:00
- `Telegram API documentation <https://core.telegram.org/bots/api>`_
- `python-telegram-bot documentation <https://python-telegram-bot.readthedocs.io/>`_
2016-05-29 12:35:52 +02:00
-------------------
Learning by example
-------------------
2016-03-23 21:36:34 +01:00
2016-05-28 21:44:10 +02:00
We believe that the best way to learn and understand this simple package is by example. So here
are some examples for you to review. Even if it's not your approach for learning, please take a
2016-07-24 02:42:55 +02:00
look at ``echobot2``, it is de facto the base for most of the bots out there. Best of all,
2016-05-28 21:44:10 +02:00
the code for these examples are released to the public domain, so you can start by grabbing the
code and building on top of it.
2016-03-23 21:36:34 +01:00
2016-07-24 02:42:55 +02:00
Visit `this page <https://github.com/python-telegram-bot/python-telegram-bot/blob/master/examples/README.md>`_ to discover the official examples or look at the examples on the `wiki <https://github.com/python-telegram-bot/python-telegram-bot/wiki/Examples>`_ to see other bots the community has built.
2016-03-23 21:36:34 +01:00
2016-05-29 12:35:52 +02:00
-------
Logging
-------
2016-01-05 13:32:19 +01:00
2016-05-28 21:44:10 +02:00
This library uses the ``logging`` module. To set up logging to standard output, put:
2016-04-25 09:58:09 +02:00
.. code:: python
2016-01-04 11:34:47 +01:00
2016-05-28 21:44:10 +02:00
import logging
logging.basicConfig(level=logging.DEBUG,
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s')
2016-01-04 11:34:47 +01:00
2016-05-28 21:44:10 +02:00
at the beginning of your script.
2015-08-09 14:59:41 +02:00
2016-05-28 21:44:10 +02:00
You can also use logs in your application by calling ``logging.getLogger()`` and setting the log level you want:
2016-04-25 09:58:09 +02:00
.. code:: python
2015-08-09 14:59:41 +02:00
2016-05-28 21:44:10 +02:00
logger = logging.getLogger()
logger.setLevel(logging.INFO)
2015-08-09 14:59:41 +02:00
2016-04-25 09:58:09 +02:00
If you want DEBUG logs instead:
.. code:: python
2015-08-09 14:59:41 +02:00
2016-05-28 21:44:10 +02:00
logger.setLevel(logging.DEBUG)
2015-08-09 14:59:41 +02:00
2016-05-29 12:35:52 +02:00
=============
Documentation
=============
2015-08-11 23:07:32 +02:00
``python-telegram-bot``'s documentation lives at `readthedocs.io <https://python-telegram-bot.readthedocs.io/>`_.
2015-08-11 23:07:32 +02:00
2016-05-29 12:35:52 +02:00
============
Getting help
============
2015-07-11 06:55:33 +02:00
You can get help in several ways:
1. We have a vibrant community of developers helping each other in our `Telegram group <https://telegram.me/pythontelegrambotgroup>`_. Join us!
2016-05-28 21:44:10 +02:00
2019-10-22 00:04:31 +02:00
2. Report bugs, request new features or ask questions by `creating an issue <https://github.com/python-telegram-bot/python-telegram-bot/issues/new/choose>`_.
2016-05-28 21:44:10 +02:00
2019-10-22 00:04:31 +02:00
3. Our `Wiki pages <https://github.com/python-telegram-bot/python-telegram-bot/wiki/>`_ offer a growing amount of resources.
4. You can even ask for help on Stack Overflow using the `python-telegram-bot tag <https://stackoverflow.com/questions/tagged/python-telegram-bot>`_.
2016-05-28 21:44:10 +02:00
2015-08-27 02:45:09 +02:00
2016-05-29 12:35:52 +02:00
============
Contributing
============
2015-07-08 22:58:50 +02:00
Contributions of all sizes are welcome. Please review our `contribution guidelines <https://github.com/python-telegram-bot/python-telegram-bot/blob/master/.github/CONTRIBUTING.rst>`_ to get started. You can also help by `reporting bugs <https://github.com/python-telegram-bot/python-telegram-bot/issues/new>`_.
2016-04-24 18:39:48 +02:00
2016-05-29 12:35:52 +02:00
=======
License
=======
2016-04-24 18:39:48 +02:00
2016-05-29 12:35:52 +02:00
You may copy, distribute and modify the software provided that modifications are described and licensed for free under `LGPL-3 <https://www.gnu.org/licenses/lgpl-3.0.html>`_. Derivatives works (including modifications or anything statically linked to the library) can only be redistributed under LGPL-3, but applications that use the library don't have to be.