1
0
mirror of https://github.com/eternnoir/pyTelegramBotAPI.git synced 2023-08-10 21:12:57 +03:00
Go to file
FrankWang 284c20f7ca Merge pull request #8 from pevdh/master
Extending ReplyKeyboardMarkup and implementing the offset getUpdates parameter
2015-06-30 09:04:07 +08:00
telebot Extended the ReplyKeyboardMarkup class to allow easy creation of a complex ReplyKeyboardMarkup (so without the hassle of manipulating json strings directly). 2015-06-30 02:00:47 +02:00
tests Add some message parse test. 2015-06-28 17:20:11 +08:00
.gitignore First Init. 2015-06-26 14:55:13 +08:00
.travis.yml Add CI Script. 2015-06-26 22:26:10 +08:00
LICENSE Initial commit 2015-06-26 14:56:25 +08:00
README.md Update README.md 2015-06-29 08:02:06 +08:00
requirements.txt Add requirements. 2015-06-26 18:14:51 +08:00
setup.py Update version. 2015-06-28 18:01:43 +08:00

pyTelegramBotAPI

Python Telegram Bot API.

https://core.telegram.org/bots/api

How to install

  • Need python2
  • Install from source
$ git clone https://github.com/eternnoir/pyTelegramBotAPI.git
$ cd pyTelegramBotAPI
$ python setup.py install
  • or install by pip
$ pip install pyTelegramBotAPI

Example

  • Send Message
import telebot

TOKEN = '<token string>'

tb = telebot.TeleBot(TOKEN)
# tb.send_message(chatid,message)
print tb.send_message(281281, 'gogo power ranger')
  • Echo Bot
import telebot

TOKEN = '<token_string>'


def listener(*messages):
    """
    When new message get will call this function.
    :param messages:
    :return:
    """
    for m in messages:
        chatid = m.chat.id
        if m.content_type == 'text'
            text = m.text
            tb.send_message(chatid, text)


tb = telebot.TeleBot(TOKEN)
tb.get_update()  # cache exist message
tb.set_update_listener(listener) #register listener
tb.polling(3)
while True:
    time.sleep(20)

TeleBot API usage

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)

# sendLocation
tb.send_location(chat_id, lat, lon)

# sendChatAction
# action_string can be :  typing,upload_photo,record_video,upload_video,record_audio,upload_audio,upload_document,
#                         find_location.
tb.send_chat_action(chat_id, action_string)

Message notifier

  • Define listener function
def listener1(*messages):
    for m in messages:
        chatid = m.chat.id
        if m.content_type == 'text'
            text = m.text
            tb.send_message(chatid, text)
  • Use set_update_listener method to add listener function to telebot.
  • Start polling or call get_update(). If get new updates, telebot will call listener and pass messages to listener.
  • use Message's content_type attribute to check message type. Now Message support content_type:
    • text
    • audio
    • document
    • photo
    • sticker
    • video
    • location

TODO

  • getMe
  • sendMessage
  • forwardMessage
  • sendPhoto
  • sendAudio
  • sendDocument
  • sendSticker
  • sendVideo
  • sendLocation
  • sendChatAction
  • getUserProfilePhotos
  • getUpdat(contact and chat message not yet)