Telegram bot API
Project description
Telegram-botup
The library has several utilities:
- Dispatcher handles incoming updates
- Sender implements Telegram API methods
- Other utils, types and etc
Installation
$ pip install telegram-botup
Example
$ pip install telegram-botup flask
# app.py
from botup import Dispatcher, Sender
from botup.wsgi import WSGIApp # using Flask
TOKEN = "token"
sender = Sender(TOKEN)
dispatcher = Dispatcher()
app = WSGIApp(__name__, botup_dispatcher=dispatcher, botup_token=TOKEN)
@dispatcher.message_handler('hello')
def hello_handler(chat_id, update):
sender.send_message(chat_id, f'Hello {update.message.from_.first_name}')
$ flask run
Tests
$ pytest -v
AutoStart (experimental)
Bot generating from yaml file
# botup.yml
config:
token: "token"
webhook_url: "https://webhook.example.com"
proxy_string: "socks5h://localhost:3333"
webhook_auto_setup: True
entrypoint:
type: Dispatcher
key: main
handlers:
CommandHandler:
- pattern: /start
function: send_message
kwargs:
text: "Hello"
$ botup start
send_photo
- pattern: /photo
function: send_photo
kwargs:
photo:
type: InputFile
kwargs:
path: /home/dshebo/Downloads/cat.jpeg
keyboard
- pattern: /kb
function: send_message
kwargs:
text: "keyboard\n/remove"
reply_markup:
type: ReplyKeyboardMarkup
kwargs:
keyboard:
- - text: 1
- text: 2
- text: 3
- - text: 4
- text: 5
- text: 6
resize_keyboard: True
- pattern: /remove
function: send_message
kwargs:
text: removed
reply_markup:
type: ReplyKeyboardRemove
states
config:
token: "token"
webhook_url: "https://webhook.example.com"
proxy_string: "socks5h://localhost:3333"
webhook_auto_setup: True
redis:
host: "localhost"
port: 6379
db: 0
entrypoint:
type: StateDispatcher
key: main
handlers:
CommandHandler:
- pattern: /start
function: send_message
kwargs:
text: "For change state click below command\n/change\n\nFor print current state click command\n/print"
- pattern: /print
function: send_message
kwargs:
text: "state = main"
- pattern: /change
states:
main: changed
function: send_message
kwargs:
text: "For return press\n/back\n\nFor print current state click command\n/print"
children:
- type: Dispatcher
key: changed
handlers:
CommandHandler:
- pattern: /print
function: send_message
kwargs:
text: "state = changed"
- pattern: /back
states:
main: reset
function: send_message
kwargs:
text: "Return to default\n/start"
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
telegram-botup-0.7.0.tar.gz
(30.0 kB
view hashes)
Built Distribution
Close
Hashes for telegram_botup-0.7.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d096b8050ea40e8bfebda1997f064838a20262eceb9a00480a115ea8bbe93a52 |
|
MD5 | 9365ca038a42657b908553e75281238d |
|
BLAKE2b-256 | 50cd2e2e3730b762391678ef5222c194c66dd4f65993b5ffb4ba5f5b5e2bfe3b |