Skip to main content

Client for Yandex Messenger Bot API

Project description

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. If update has chat or thread id message will be sent to chat or thread
# Otherwise message will be sent directly to user
yb.send_message('text', update)

# Send image. image_data can be either ASCII string or bytes object
yb.send_image(image_data, update)

# Send buttons. buttons must be a list of Button objects
yb.send_inline_keyboard(buttons, update)

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.0.5

  • Added bot send gallery method yb.send_gallery(images, update) where images is a list of image objects same as insend_image method
  • Bot send methods will return JSON response with message_id
  • Added optional argument disable_web_page_preview to yb.send_message(images, update, disable_web_page_preview=True) method. Default value is True

Update 0.0.4

  • Added logger support. Create bot instance with log_level=logging.DEBUG argument for debug output. By default log level is INFO.
    yb = MessengerBot('bot_token', log_level=logging.DEBUG)

Project details


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.0.5.tar.gz (5.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

yambot_client-0.0.5-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

File details

Details for the file yambot_client-0.0.5.tar.gz.

File metadata

  • Download URL: yambot_client-0.0.5.tar.gz
  • Upload date:
  • Size: 5.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.1

File hashes

Hashes for yambot_client-0.0.5.tar.gz
Algorithm Hash digest
SHA256 6bfeaa8fed5afc98d0fe938a05720fafe362cafb8495521e699a0a7a050cebaf
MD5 1c720a09fb5e8dc622caab59be0edd81
BLAKE2b-256 8f7309c2bc4b2dd3b3ae25004f1231e03e6f5bdbb72787e021e14b26417cde5e

See more details on using hashes here.

File details

Details for the file yambot_client-0.0.5-py3-none-any.whl.

File metadata

  • Download URL: yambot_client-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 5.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.1

File hashes

Hashes for yambot_client-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 740ae308ac863a0ea9aaad986b24fc7f779fd475869fb7cfc953163629d91b47
MD5 d82a553531eb8bf82e353764addb2b27
BLAKE2b-256 244af4a70c68b32c74a57aa2db2740ca3754934a7ddd547ad32676b521a053a5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page