A lightweight framework for creating Telegram bots with advanced routing and localization.
Project description
Bojango
Bojango — это фреймворк для упрощения разработки Telegram-ботов. Он предоставляет удобные инструменты для маршрутизации, управления экранами, локализации и работы с асинхронными функциями.
Установка
Установить Bojango можно через pip:
pip install bojango
Особенности
- Маршрутизация: Используйте удобные декораторы для регистрации команд и callback-обработчиков.
- Управление экранами: Легко создавайте и рендерьте интерфейсы с кнопками.
- Локализация: Поддержка мультиязычных приложений с помощью gettext.
- Асинхронная архитектура: Полная поддержка asyncio для высокопроизводительных приложений.
- Гибкость: Возможность расширения и кастомизации под ваши задачи.
Быстрый старт
from bojango.core.bot import BojangoBot
from bojango.action.screen import ActionScreen
from bojango.core.routing import command, callback
class MyBot(BojangoBot):
api_token = 'ВАШ_API_ТОКЕН'
localizer = None # Опционально: настройте локализацию
handlers_modules = ['mybot.handlers'] # Укажите модуль(и) с обработчиками
if __name__ == '__main__':
bot = MyBot()
bot.run()
Пример обработчика
from bojango.core.routing import command, callback
from bojango.action.screen import ActionScreen, ActionButton
@command('start')
async def start_handler(update, context):
screen = ActionScreen(
text='Добро пожаловать!',
buttons=[[ActionButton(text='Кнопка 1', action_name='button_action')]]
)
await screen.render(update, context)
@callback('button_action')
async def button_handler(update, context, args):
screen = ActionScreen(text='Вы нажали на кнопку!')
await screen.render(update, context)
Структура проекта
myproject/
│
├── mybot/
│ ├── __init__.py
│ ├── handlers/
│ │ ├── __init__.py
│ │ └── main.py
│ ├── locales/
│ │ ├── en/
│ │ └── ru/
│ └── main.py
│
└── README.md
Требования
- Python 3.10+
- Telegram Bot API
Лицензия
Bojango распространяется под лицензией MIT. Подробнее см. в файле LICENSE.
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
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 bojango-1.0.1.tar.gz.
File metadata
- Download URL: bojango-1.0.1.tar.gz
- Upload date:
- Size: 13.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ae32c1559131a8599391235cf8c84d4d0840a19b15cf589dd067744751e25f08
|
|
| MD5 |
2084f536fcb28a5de1f92a1454084113
|
|
| BLAKE2b-256 |
8962ac4e3b3b470373469ab9c2af2031a495dd8b16bdd424a674e6b431981e60
|
File details
Details for the file bojango-1.0.1-py3-none-any.whl.
File metadata
- Download URL: bojango-1.0.1-py3-none-any.whl
- Upload date:
- Size: 15.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dec23901e234f7c2150d8fa7b45fc9b215d609cda2e1d6b2d54ac33cd7642a18
|
|
| MD5 |
fa41d93671742e7c22900a30e9edcf4d
|
|
| BLAKE2b-256 |
083dde5670418d287395bcb54309c72a678f1cadea4c90df2340334ab89e51a4
|