Skip to main content

An asynchronous Python Telegram Bot API wrapper

Project description

TgBee

TgBee is an asynchronous Python wrapper for the Telegram Bot API. It provides a simple and intuitive interface for creating Telegram bots using modern Python features.

Features

  • Asynchronous API calls using aiohttp
  • Easy-to-use decorator-based handler system
  • Support for inline keyboards and callback queries
  • Plugin system for modular bot development
  • FastAPI integration for webhook support

Installation

You can install TgBee using pip:

pip3 install -U TgBee

Example

import asyncio
from TgBee import Client, filters

bot = Client(token="YOUR_BOT_TOKEN")

@bot.on_message(filters.command("start"))
async def start_command(client, message):
    reply_markup = {
        "inline_keyboard": [
            [
                {"text": "Button 1", "callback_data": "button1"},
                {"text": "Button 2", "callback_data": "button2"}
            ]
        ]
    }

    mention = message.from_user.mention
    sent_message = await client.send_message(
        chat_id=message.chat.id,
        text=f"Welcome {mention} to the bot! Here's a message with some buttons:",
        parse_mode="HTML",
        reply_markup=reply_markup
    )

@bot.on_callback_query()
async def handle_callback(client, callback_query):
    callback_query_id = callback_query.id
    data = callback_query.data

    if data == "button1":
        await client.answer_callback_query(callback_query_id=callback_query_id, text="You pressed Button 1!", show_alert=True)
    elif data == "button2":
        await client.answer_callback_query(callback_query_id=callback_query_id, text="You pressed Button 2!", show_alert=True)
    else:
        await client.answer_callback_query(callback_query_id=callback_query_id, text="Unknown button pressed", show_alert=True)

async def main():
    await bot.run()

if __name__ == "__main__":
    asyncio.run(main())

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

tgbee-1.0.9.tar.gz (12.5 kB view details)

Uploaded Source

Built Distribution

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

TgBee-1.0.9-py3-none-any.whl (12.9 kB view details)

Uploaded Python 3

File details

Details for the file tgbee-1.0.9.tar.gz.

File metadata

  • Download URL: tgbee-1.0.9.tar.gz
  • Upload date:
  • Size: 12.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for tgbee-1.0.9.tar.gz
Algorithm Hash digest
SHA256 65ed9c7a65129bd36ed9cd4b4e260270b475fb02ebf6e6bbfcc090a81df9f0ec
MD5 d834de8b63e47b5ebcb89884f412a4f6
BLAKE2b-256 16c0a400c50e1b84482cdf7a8a89ab3eb87907f6fc769876a4bf96f29bd8dbcb

See more details on using hashes here.

File details

Details for the file TgBee-1.0.9-py3-none-any.whl.

File metadata

  • Download URL: TgBee-1.0.9-py3-none-any.whl
  • Upload date:
  • Size: 12.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for TgBee-1.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 f70296080622e2c6073b37da13a3f6da50378167da25f7d57703dcb0c4ebd95c
MD5 221d57d42b161214dcaad43eb3595bcc
BLAKE2b-256 812c4b0e655094c12bc1aea19a93a3f96d8a3ae5744046e2816ae0b6ccb9a0a7

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