Unofficial Client for Yandex Messenger Bot API
Project description
Unofficial Yandex Messenger Bot API library
Obtaining Messenger bot token: link
Usage:
pip install yambot-client
# Add handlers to MessengerBot
# Supported handlers: text, command, button, regex, any
from yambot import MessengerBot
yb = MessengerBot('bot_token')
# Add command handler ex. when user sends /my_command
@yb.add_handler(command='/my_command')
def my_handler1(update):
yb.send_message('test1', update)
# Add text handler ex. when user sends some_text
@yb.add_handler(text='some_text')
def my_handler2(update):
yb.send_message('test2', update)
# Add button handler. Button must have callback_data with 'cmd': '/my_button' JSON object
# For more details about CallbackData see API description: https://yandex.ru/dev/messenger/doc/ru/data-types#button
@yb.add_handler(button='/my_button')
def my_handler3(update):
yb.send_message('test3', update)
# Add regex handler. Provide regular expression that will be tested against user text message
@yb.add_handler(regex='\d{5}')
def my_handler3(update):
yb.send_message('test4', update)
# Handler that will be applied when no other handlers match
@yb.add_handler(any=True)
def process_any(update):
yb.send_message('Unknown text', update)
Available Bot methods:
# Send text message
yb.send_message('text', update)
# Send image
yb.send_image(image_data, update)
# Send buttons
yb.send_inline_keyboard('Choose:', buttons, update)
# Delete message (from group chat)
yb.delete_message(message_id=123, chat_id='0/0/group-id')
# Delete message (from private chat)
yb.delete_message(message_id=456, login='user@example.com')
# Delete message (from thread)
yb.delete_message(message_id=789, chat_id='0/0/group-id', thread_id=100)
Button example for send_inline_keyboard():
button1 = {'text': 'Button 1', 'callback_data': {'cmd': '/button_1'}}
button2 = {'text': 'Button 2', 'callback_data': {'cmd': '/button_2'}}
buttons = [button1, button2]
Example: link
Update 0.1.0 (Latest)
Improvements:
- ✅ Fixed bugs
- ✅ Added error handling
- ✅ Implemented rate limiting
- ✅ Added support for Polls API (
create_poll,get_poll_results,get_poll_voters) - ✅ Added support for Chat Management API (
create_chat,create_channel,update_members,get_user_link) - ✅ Added new type models:
Button,User,Vote,Sticker,ForwardedMessage - ✅ Enhanced
send_message()with additional parameters:payload_id,reply_message_id,disable_notification,important,thread_id - ✅ Fixed naming:
pooling→polling
New Methods:
# Polls
yb.create_poll(title, answers, update)
yb.get_poll_results(message_id, update)
yb.get_poll_voters(message_id, answer_id, update)
# Chat Management
yb.create_chat(name, description, members, admins)
yb.create_channel(name, description, subscribers, admins)
yb.update_members(chat_id, members, admins, remove)
yb.get_user_link(login)
Important Changes:
Update.chatis now required (not Optional)Update.imagestype changed fromList[Tuple[...]]toList[List[Image]]
Deprecations:
start_pooling()→ usestart_polling()insteadpool_intervalparameter → usepoll_intervalinstead
Update 0.0.5
- Added bot send gallery method
yb.send_gallery(images, update)whereimagesis a list of image objects same as insend_imagemethod - Bot send methods will return JSON response with
message_id - Added optional argument
disable_web_page_previewtoyb.send_message(images, update, disable_web_page_preview=True)method. Default value isTrue
Update 0.0.4
- Added logger support.
Create bot instance with
log_level=logging.DEBUGargument for debug output. By default log level is INFO.
yb = MessengerBot('bot_token', log_level=logging.DEBUG)
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
yambot_client-0.1.0.tar.gz
(14.8 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file yambot_client-0.1.0.tar.gz.
File metadata
- Download URL: yambot_client-0.1.0.tar.gz
- Upload date:
- Size: 14.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
13b171d1d07ea674533542fa9a04efc67fdabace21f86f61ee0e70b802fee721
|
|
| MD5 |
0aeffe21522837904a4fe935a2ed577b
|
|
| BLAKE2b-256 |
555604f7d48fbfbd1d47d030aa9b77d43e2fbfb45ad718b7c980e096c93d4589
|
File details
Details for the file yambot_client-0.1.0-py3-none-any.whl.
File metadata
- Download URL: yambot_client-0.1.0-py3-none-any.whl
- Upload date:
- Size: 14.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f4e2daf66208f1c2bb57f65fc39f6a13d5c5a049c58216dcb9b02b99267be250
|
|
| MD5 |
000c66fe30fc23e4e8b5be8369c6bec9
|
|
| BLAKE2b-256 |
e3b64cfd38a2bb258130e2ba3f3d588e927fb64f9ab3899ee6ef2a6005da8d46
|