mirror of
https://github.com/eternnoir/pyTelegramBotAPI.git
synced 2023-08-10 21:12:57 +03:00
Updates after some reviews
This commit is contained in:
parent
3b61c7cd8a
commit
2221b59b6f
40
README.md
40
README.md
@ -1,9 +1,9 @@
|
||||
#<center>pyTelegramBotAPI</center>
|
||||
# <p align="center">pyTelegramBotAPI
|
||||
|
||||
<center>A simple, but extensible Python implementation for the [Telegram Bot API](https://core.telegram.org/bots/api).</center>
|
||||
<p align="center">A simple, but extensible Python implementation for the [Telegram Bot API](https://core.telegram.org/bots/api).
|
||||
|
||||
|
||||
<center>[![Build Status](https://travis-ci.org/eternnoir/pyTelegramBotAPI.svg?branch=master)](https://travis-ci.org/eternnoir/pyTelegramBotAPI)</center>
|
||||
<p align="center">[![Build Status](https://travis-ci.org/eternnoir/pyTelegramBotAPI.svg?branch=master)](https://travis-ci.org/eternnoir/pyTelegramBotAPI)
|
||||
|
||||
* [Getting started.](#getting-started)
|
||||
* [Writing your first bot](#writing-your-first-bot)
|
||||
@ -24,6 +24,8 @@
|
||||
* [The listener mechanism](#the-listener-mechanism)
|
||||
* [Using web hooks](#using-web-hooks)
|
||||
* [Logging](#logging)
|
||||
* [F.A.Q.](#faq)
|
||||
* [How can I distinguish a User and a GroupChat in message.chat?](#how-can-i-distinguish-a-user-and-a-groupchat-in-messagechat)
|
||||
* [The Telegram Chat Group](#the-telegram-chat-group)
|
||||
* [More examples](#more-examples)
|
||||
|
||||
@ -32,7 +34,7 @@
|
||||
This API is tested with Python 2.6, Python 2.7, Python 3.4, Pypy and Pypy 3.
|
||||
There are two ways to install the library:
|
||||
|
||||
* Installation using pip (a Python package manager):
|
||||
* Installation using pip (a Python package manager)*:
|
||||
|
||||
```
|
||||
$ pip install pyTelegramBotAPI
|
||||
@ -47,6 +49,8 @@ $ python setup.py install
|
||||
|
||||
It is generally recommended to use the first option.
|
||||
|
||||
**While the API is production-ready, it is still under development and it has regular updates, do not forget to update it regularly by calling `pip install pytelegrambotapi --upgrade`*
|
||||
|
||||
## Writing your first bot
|
||||
|
||||
### Prerequisites
|
||||
@ -65,7 +69,7 @@ import telebot
|
||||
|
||||
bot = TeleBot("TOKEN")
|
||||
```
|
||||
*Note: Make sure to actually replace TOKEN with our own API token.*
|
||||
*Note: Make sure to actually replace TOKEN with your own API token.*
|
||||
|
||||
After that declaration, we need to register some so-called message handlers. Message handlers define filters which a message must pass. If a message passes the filter, the decorated function is called and the incoming message is passed as an argument.
|
||||
|
||||
@ -85,6 +89,8 @@ def echo_all(message):
|
||||
```
|
||||
This one echoes all incoming text messages back to the sender.
|
||||
|
||||
*Note: all handlers are tested in the order in which they were declared*
|
||||
|
||||
We now have a basic bot which replies a static message to "/start" and "/help" commands and echoes the rest of the sent messages back. To start the bot, add the following to our source file:
|
||||
```python
|
||||
bot.polling()
|
||||
@ -293,6 +299,8 @@ The TeleBot constructor takes the following optional arguments:
|
||||
TeleBot's `polling()` function takes an optional none_stop argument. When none_stop equals True, the bot will not exit when it receives an invalid response from the Telegram API servers. none_stop defaults to False.
|
||||
Example: `tb.polling(none_stop=True)`
|
||||
|
||||
*Note: You should take caution when using this, because some errors (e.g. if the Telegram servers fail to return data) can not be ignored and the bot would malfunction.*
|
||||
|
||||
### The listener mechanism
|
||||
As an alternative to the message handlers, one can also register a function as a listener to TeleBot. Example:
|
||||
```python
|
||||
@ -323,11 +331,31 @@ logger.setLevel(logging.DEBUG) # or use logging.INFO
|
||||
ch.setFormatter(formatter)
|
||||
```
|
||||
|
||||
## F.A.Q.
|
||||
|
||||
### How can I distinguish a User and a GroupChat in message.chat?
|
||||
There are two ways to do this:
|
||||
|
||||
- Checking the instance of message.chat with `isinstance`:
|
||||
```python
|
||||
def is_user(chat):
|
||||
return isinstance(chat, types.User)
|
||||
|
||||
print is_user(message.chat) # True or False
|
||||
```
|
||||
- Checking whether the chat id is negative or positive. If the chat id is negative, the chat is a GroupChat, if it is positive, it is a User. Example:
|
||||
```python
|
||||
def is_user(chat):
|
||||
return chat.id > 0
|
||||
|
||||
print is_user(message.chat) # True or False
|
||||
```
|
||||
|
||||
## The Telegram Chat Group
|
||||
|
||||
Get help. Discuss. Chat.
|
||||
|
||||
Join [pyTelegramBotAPI Chat Group](https://telegram.me/joinchat/067e22c60035523fda8f6025ee87e30b).
|
||||
Join the [pyTelegramBotAPI Telegram Chat Group](https://telegram.me/joinchat/067e22c60035523fda8f6025ee87e30b).
|
||||
|
||||
## More examples
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user