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.7.tar.gz (12.4 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.7-py3-none-any.whl (12.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: tgbee-1.0.7.tar.gz
  • Upload date:
  • Size: 12.4 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.7.tar.gz
Algorithm Hash digest
SHA256 9e6b368553e61804fb3cc0d451bfc812fdb1221802faeace9e986c78f9d2d044
MD5 e1a4ebc35f63b852a0b3244ddc6d9213
BLAKE2b-256 a897ab7dee5aca36f4f7410327f170c2a1bdc3a2fcfbb393616b2724b84cc5ee

See more details on using hashes here.

File details

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

File metadata

  • Download URL: TgBee-1.0.7-py3-none-any.whl
  • Upload date:
  • Size: 12.8 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.7-py3-none-any.whl
Algorithm Hash digest
SHA256 5945355a5aa5ede9e8cdb0605d492d6f45fb4488864a93f05c0c057109d909bb
MD5 4cecdd250d21004ba8905b39e14a5ba7
BLAKE2b-256 9b962faf8a9eba5299fe1da27ce5401309287ab99dd9be9611f7695519ecbac7

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