A python wrapper for bale api
Project description
Bale Bot API Python Library
A modern, easy-to-use Python wrapper for the Bale Bot API that makes building Bale bots simple and intuitive.
Features
- 🚀 Simple & Intuitive - Clean, Pythonic API design
- 📨 Full Message Support - Text, photos, videos, documents, and more
- ⌨️ Interactive Elements - Inline keyboards, reply keyboards, and buttons
- 🔄 Real-time Updates - Webhook and polling support
- 📁 File Handling - Easy upload and download of media files
- 🛡️ Error Handling - Comprehensive exception handling
- 📖 Type Hints - Full typing support for better development experience
- ⚡ Async Support - asynchronous operations
Installation
pip install pyrobale
Quick Start
from pyrobale.client import Client
from pyrobale.objects import Message, UpdatesTypes
bot = Client("YOUR_BOT_TOKEN")
@bot.on_message()
async def message_handler(message: Message):
await message.reply("Hello, world!")
bot.run()
Examples
Conversation Bot
from pyrobale.objects import *
from pyrobale.client import Client, Message, UpdatesTypes
client = Client("YOUR_BOT_TOKEN")
async def handle_message(message: Message):
if message.text == "/start":
await message.reply("Hi! Im a pyrobale RoBot!")
await client.wait_for(UpdatesTypes.MESSAGE)
await message.reply("Okay! wait_for Test Compeleted")
client.add_handler(UpdatesTypes.MESSAGE, handle_message)
client.run()
Echo Bot
from pyrobale.client import Client
from pyrobale.objects import Message, UpdatesTypes
bot = Client("YOUR_BOT_TOKEN")
@bot.on_message()
async def message_handler(message: Message):
await message.reply(message.text)
bot.run()
Inline Keyboard
from pyrobale.client import Client
from pyrobale.objects import Message, UpdatesTypes, InlineKeyboardButton, InlineKeyboardMarkup, CopyTextButton
bot = Client("YOUR_BOT_TOKEN")
async def message_handler(message: Message):
buttons = InlineKeyboardMarkup()
buttons.add_button("URL", url="https://google.com")
buttons.add_button("Callback", callback_data="callback")
buttons.add_row()
buttons.add_button("WebApp", web_app="https://daradege.ir")
buttons.add_button("Copy", copy_text_button=CopyTextButton("TEXT"))
await message.reply("Hello, world!", reply_markup=buttons)
Core Abilities
- Message Handling - Process text, commands, and media messages
- Callback Queries - Handle inline keyboard interactions
- File Operations - Send and receive photos, videos, documents
- Chat Management - Get chat info, member management
- Custom Keyboards - Create interactive user interfaces
- Webhook Support - Production-ready webhook handling
- Middleware Support - Add custom processing layers
Documentation
For detailed documentation and advanced usage, visit our documentation site.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Support
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 pyrobale-0.3.9.1.tar.gz.
File metadata
- Download URL: pyrobale-0.3.9.1.tar.gz
- Upload date:
- Size: 57.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
57d3ca03247b4824c83ed0e7ff7ea5c0a1135e591c0af6e24f4b0c9e2cf79ce1
|
|
| MD5 |
913d08ed174adea8fe0b9fa877702208
|
|
| BLAKE2b-256 |
2fcb42ee37d04e49fbb322921733e06b74b21de96f32b4357e2ef0947b540f40
|
File details
Details for the file pyrobale-0.3.9.1-py3-none-any.whl.
File metadata
- Download URL: pyrobale-0.3.9.1-py3-none-any.whl
- Upload date:
- Size: 38.0 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 |
471a728b4aaf4ab0821251cd67ef2230ee3da7f033a4af0323008c550fb2e637
|
|
| MD5 |
0fe4776bd48aeb22e5ac5dbc855e8853
|
|
| BLAKE2b-256 |
0c6d8c9e1249681eb136d60ec271422fafc40508b860d35c90ef75137d7d7eb3
|