pyTelegramBotAPI/README.md

121 lines
2.0 KiB
Markdown
Raw Normal View History

2015-06-26 09:56:25 +03:00
# pyTelegramBotAPI
Python Telegram bot api.
2015-06-26 09:58:20 +03:00
2015-06-26 17:52:09 +03:00
## How to install
* Install from source
```
$ git clone https://github.com/eternnoir/pyTelegramBotAPI.git
$ cd pyTelegramBotAPI
$ python setup.py install
```
* Install by pip
```
$ pip install pyTelegramBotAPI
```
2015-06-26 09:58:20 +03:00
## Example
2015-06-26 13:05:23 +03:00
* Send Message
2015-06-26 09:58:20 +03:00
```python
import telebot
TOKEN = '<token string>'
tb = telebot.TeleBot(TOKEN)
# tb.send_message(chatid,message)
print tb.send_message(281281, 'gogo power ranger')
```
2015-06-26 13:05:23 +03:00
* Echo Bot
```python
2015-06-26 13:11:11 +03:00
import telebot
2015-06-26 13:05:23 +03:00
import time
2015-06-26 13:11:11 +03:00
TOKEN = '<token_string>'
2015-06-26 13:05:23 +03:00
def listener(*messages):
2015-06-26 13:11:11 +03:00
"""
When new message get will call this function.
:param messages:
:return:
"""
2015-06-26 13:05:23 +03:00
for m in messages:
chatid = m.chat.id
text = m.text
tb.send_message(chatid, text)
tb = telebot.TeleBot(TOKEN)
tb.get_update() # cache exist message
2015-06-26 13:11:11 +03:00
tb.set_update_listener(listener) #register listener
2015-06-26 13:05:23 +03:00
tb.polling(3)
while True:
time.sleep(20)
```
2015-06-26 16:56:49 +03:00
2015-06-27 05:25:22 +03:00
## TeleBot API usage
2015-06-27 05:31:42 +03:00
***NOTICE*** : getUpdates Message type only support text now.
2015-06-27 05:25:22 +03:00
```python
import telebot
import time
TOKEN = '<token_string>'
tb = telebot.TeleBot(TOKEN) #create new Telegram Bot object
# getMe
user = tb.get_me()
# sendMessage
tb.send_message(chatid, text)
# forwardMessage
# tb.forward_message(10894,926,3)
tb.forward_message(to_chat_id, from_chat_id, message_id)
# sendPhoto
photo = open('/tmp/photo.png', 'rb')
tb.send_photo(chat_id, photo)
# sendAudio
audio = open('/tmp/audio.ogg', 'rb')
tb.send_audio(chat_id, audio)
# sendDocument
doc = open('/tmp/file.txt', 'rb')
tb.send_document(chat_id, doc)
# sendSticker
sti = open('/tmp/sti.webp', 'rb')
tb.send_sticker(chat_id, sti)
# sendVideo
video = open('/tmp/video.mp4', 'rb')
tb.send_video(chat_id, video)
```
2015-06-26 16:56:49 +03:00
## TODO
2015-06-27 05:25:22 +03:00
- [ ] Let message not only support text.
2015-06-26 16:56:49 +03:00
- [x] getMe
2015-06-26 17:16:11 +03:00
- [x] sendMessage
2015-06-26 17:35:52 +03:00
- [x] forwardMessage
2015-06-26 20:53:07 +03:00
- [x] sendPhoto
- [x] sendAudio
- [x] sendDocument
- [x] sendSticker
- [x] sendVideo
2015-06-26 16:56:49 +03:00
- [ ] sendLocation
- [ ] sendChatAction
- [ ] getUserProfilePhotos
2015-06-27 05:25:22 +03:00
- [ ] getUpdates (Only text message support now.)