Skip to main content

A simple telegram bot framework on top of Python asyncio

Project description

Baymax, a simple telegram bot framework on top of Python asyncio

Work in progress

Requirements

  • Python 3.7 or higher

Installation

pip install baymax

Basic usage example

from baymax.bot import Bot

bot = Bot('token')

@bot.on('/start')
async def start_handler(message):
    await bot.reply(message, 'Welcome!')

bot.run()

Middleware example

@bot.middleware
async def message_logging_middleware(raw_update):
    bot.logger.info('New update received: %s', raw_update['update_id'])
NOTE: All middleware functions should be coroutines for now, even if they do not have asynchronous actions.

Reply keyboard markup example

from baymax.markups import KeyboardButton, ReplyKeyboardMarkup

@bot.on('/rate')
async def rate_handler(message):
    await bot.reply(message, 'Rate me', reply_markup=ReplyKeyboardMarkup(
        [
            [
                KeyboardButton('⭐️'),
                KeyboardButton('⭐️⭐️'),
                KeyboardButton('⭐️⭐️⭐️')
            ]
        ], resize_keyboard=True, one_time_keyboard=True))
NOTE: Reply markup API / objects will be changing, they are far from good now.

Running tests

git clone git@github.com:dmrz/baymax.git
pip install -e .
pip install -r requirements-test.txt
pytest

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for baymax, version 0.0.5
Filename, size File type Python version Upload date Hashes
Filename, size baymax-0.0.5-py3-none-any.whl (9.7 kB) File type Wheel Python version py3 Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page