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/user/Pictures/example.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.8.1.tar.gz
(32.3 kB
view hashes)
Built Distribution
Close
Hashes for telegram_botup-0.8.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5cf0e766c11cd8d0633c76503516259ba899ae8797a70a7432ba84f924102018 |
|
MD5 | e6568e7318f0281b114009c2e7830594 |
|
BLAKE2b-256 | 170d5d7f271b5003bcfedec9e26cf5c5dc7ef90d11b0f4c19d9677630946240a |