Skip to main content

A python wrapper for bale api

Project description

pyrobaletext

Bale Bot API Python Library

A Python wrapper for the Bale Bot API that makes it easy to build Bale bots.

Features

  • Full Bale Bot API support
  • Object-oriented design
  • Easy-to-use interface
  • Support for:
    • Messages
    • Photos
    • Documents
    • Audio
    • Video
    • Voice messages
    • Location
    • Contact sharing
    • Inline keyboards
    • Menu keyboards
    • Callback queries
    • Chat administration
    • Payment system
    • Database integration

Installation

pip install pyrobale

Quick Start

from bale import Client, MenuKeyboardMarkup, MenuKeyboardButton

# Initialize bot with token
bot = Client("YOUR_BOT_TOKEN")

# Handle incoming messages
@bot.on_message
def handle_message(message):
    if message.text == "/start":
        # Create keyboard
        keyboard = MenuKeyboardMarkup()
        keyboard.add(MenuKeyboardButton("Hello!"))
  
        # Send welcome message
        message.reply_message("Welcome!", reply_markup=keyboard)

# Start the bot
bot.run()

Key Components

Client

The main class for interacting with Bale API. Handles all API requests and provides event decorators.

Message

Represents a message in Bale with methods for replying, editing, and deleting messages.

User

Represents a Bale user with their properties and methods.

Chat

Represents a chat conversation with methods for sending messages and managing chat settings.

Keyboards

  • MenuKeyboardMarkup: For creating text keyboards
  • InlineKeyboardMarkup: For creating inline keyboards

Database

Built-in SQLite database support for storing persistent data.

Event Handlers

Message handler

@bot.on_message
def handle_message(message):
    pass

Callback query handler

@bot.on_callback_query
def handle_callback(callback):
    pass

Periodic task handler

@bot.on_tick(60)  # Runs every 60 seconds
def handle_tick():
    pass

Ready event handler

@bot.on_ready
def handle_ready():
    pass

Member join handler

@bot.on_member_chat_join
def handle_join(message, chat, user):
    pass

Member leave handler

@bot.on_member_chat_leave
def handle_leave(message, chat, user):
    pass

Database Usage

Access database

with bot.database as db:
    db.write_key("user_123", {"points": 100})
  
    data = db.read_key("user_123")

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

pyrobale-0.2.8.tar.gz (72.3 kB view details)

Uploaded Source

Built Distribution

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

pyrobale-0.2.8-py3-none-any.whl (38.9 kB view details)

Uploaded Python 3

File details

Details for the file pyrobale-0.2.8.tar.gz.

File metadata

  • Download URL: pyrobale-0.2.8.tar.gz
  • Upload date:
  • Size: 72.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for pyrobale-0.2.8.tar.gz
Algorithm Hash digest
SHA256 66ad7760d1518380b70db0deb2ade6b257ee98a0cc4105b6f6a4d758f99bbfdd
MD5 70d4e64d57db21f4deb8faf1cc8039dd
BLAKE2b-256 3e4a947b461b1e595b76c31ab103b4c3041ae025996c70c23a9e6c0a2f5e32c3

See more details on using hashes here.

File details

Details for the file pyrobale-0.2.8-py3-none-any.whl.

File metadata

  • Download URL: pyrobale-0.2.8-py3-none-any.whl
  • Upload date:
  • Size: 38.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for pyrobale-0.2.8-py3-none-any.whl
Algorithm Hash digest
SHA256 0f59a52b94a0fe82b85959c5eb997e2b31833df6598d67a01f3c9c937bf2babd
MD5 2b154ff34afc475d0eaa44b3438a84bc
BLAKE2b-256 191607ad5d42250dc63822328dfec63b776f883cbdb170d9ece1d0216c4eb94c

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