Skip to main content

An advanced Telegram bot library

Project description

Telegram Advanced Package Documentation

Table of Contents

  1. Installation
  2. Basic Usage
  3. Key Components
  4. Advanced Usage
  5. Error Handling

Installation

To install the Telegram Advanced package, use pip:

pip install telegram-advanced

Basic Usage

Here's a simple example of how to create a bot using the Telegram Advanced package:

from telegram_advanced.bot import Bot
from telegram_advanced.handlers.message_handler import MessageHandler

# Initialize the bot with your token
bot = Bot("YOUR_BOT_TOKEN")

# Define a message handler
def echo(update, context):
    context.bot.send_message(chat_id=update.effective_chat.id, text=update.message.text)

# Create a message handler and add it to the bot
message_handler = MessageHandler(echo)
bot.add_handler(message_handler)

# Start the bot
bot.start_polling()

Key Components

API

The api module contains the core functionality for interacting with the Telegram API.

  • client.py: Handles API requests and responses.
  • types.py: Defines Python objects that represent Telegram entities.
  • methods.py: Implements Telegram API methods.

Example usage:

from telegram_advanced.api.client import TelegramClient

client = TelegramClient("YOUR_BOT_TOKEN")
updates = client.get_updates()

Handlers

The handlers module contains classes for handling different types of updates from Telegram.

  • message_handler.py: Handles incoming messages.
  • command_handler.py: Handles bot commands.
  • callback_handler.py: Handles callback queries from inline keyboards.
  • inline_handler.py: Handles inline queries.

Example usage:

from telegram_advanced.handlers.command_handler import CommandHandler

def start(update, context):
    context.bot.send_message(chat_id=update.effective_chat.id, text="Hello! I'm a bot.")

start_handler = CommandHandler("start", start)
bot.add_handler(start_handler)

Components

The components module provides utility classes for working with various Telegram features.

  • keyboards.py: Creates inline and reply keyboards.
  • media.py: Handles photo, video, and other media types.
  • passport.py: Implements Telegram Passport functionality.
  • payments.py: Handles Telegram Payments.
  • games.py: Implements Telegram Games.

Example usage:

from telegram_advanced.components.keyboards import InlineKeyboardBuilder

keyboard = InlineKeyboardBuilder()
keyboard.add_button("Click me!", callback_data="button1")
message = bot.send_message(chat_id, "Here's a button:", reply_markup=keyboard.build())

Management

The management module provides tools for managing Telegram groups, channels, and users.

  • groups.py: Manage group chats.
  • channels.py: Manage channels.
  • users.py: Manage user data and permissions.

Example usage:

from telegram_advanced.management.groups import GroupManager

group_manager = GroupManager(bot)
members = group_manager.get_chat_members(chat_id)

Features

The features module implements additional Telegram features.

  • polls.py: Create and manage polls.
  • threads.py: Handle message threads in groups.
  • reactions.py: Manage message reactions.
  • pinned_messages.py: Handle pinned messages.

Example usage:

from telegram_advanced.features.polls import PollManager

poll_manager = PollManager(bot)
poll = poll_manager.create_poll(chat_id, "What's your favorite color?", ["Red", "Blue", "Green"])

Utils

The utils module provides various utility functions and classes.

  • file_handling.py: Handle file uploads and downloads.
  • localization.py: Implement multi-language support.
  • security.py: Implement security features like rate limiting.
  • caching.py: Cache frequently used data.
  • connection_pool.py: Manage API connections efficiently.
  • batch_processing.py: Process updates in batches.
  • rate_limiter.py: Implement rate limiting for API requests.
  • pagination.py: Handle paginated results from the API.

Example usage:

from telegram_advanced.utils.file_handling import FileUploader

uploader = FileUploader(bot)
file_id = uploader.upload_photo("path/to/photo.jpg")

Analytics

The analytics module provides tools for analyzing bot usage and performance.

  • statistics.py: Collect and analyze usage statistics.
  • peer_rating.py: Implement a rating system for users or chats.

Example usage:

from telegram_advanced.analytics.statistics import UsageTracker

tracker = UsageTracker(bot)
daily_stats = tracker.get_daily_usage()

Advanced Usage

For more advanced usage, you can combine multiple components:

from telegram_advanced.bot import Bot
from telegram_advanced.handlers.command_handler import CommandHandler
from telegram_advanced.components.keyboards import InlineKeyboardBuilder
from telegram_advanced.features.polls import PollManager

bot = Bot("YOUR_BOT_TOKEN")

def create_poll(update, context):
    keyboard = InlineKeyboardBuilder()
    keyboard.add_button("Create Poll", callback_data="create_poll")
    context.bot.send_message(chat_id=update.effective_chat.id, text="Click to create a poll:", reply_markup=keyboard.build())

def poll_callback(update, context):
    query = update.callback_query
    if query.data == "create_poll":
        poll_manager = PollManager(context.bot)
        poll = poll_manager.create_poll(query.message.chat_id, "What's your favorite programming language?", ["Python", "JavaScript", "Java", "C++"])
        query.answer("Poll created!")

bot.add_handler(CommandHandler("poll", create_poll))
bot.add_handler(CallbackQueryHandler(poll_callback))

bot.start_polling()

Error Handling

The package includes a custom exceptions.py module for handling Telegram-specific errors:

from telegram_advanced.exceptions import TelegramAPIError

try:
    # Some API call
    bot.send_message(chat_id, "Hello, World!")
except TelegramAPIError as e:
    print(f"An error occurred: {e}")

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

telegram_advanced-0.1.4.tar.gz (15.5 kB view details)

Uploaded Source

Built Distribution

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

telegram_advanced-0.1.4-py3-none-any.whl (21.8 kB view details)

Uploaded Python 3

File details

Details for the file telegram_advanced-0.1.4.tar.gz.

File metadata

  • Download URL: telegram_advanced-0.1.4.tar.gz
  • Upload date:
  • Size: 15.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.2

File hashes

Hashes for telegram_advanced-0.1.4.tar.gz
Algorithm Hash digest
SHA256 b118f62bbc4ac933b4362e905a52a50e1a67188363e2203572b00e35081d2597
MD5 d494594e09a7b806ad934549ce334828
BLAKE2b-256 b085754b1d7b0d8b92160057c450f90d50ff6c05c425bf497a43f904422f896d

See more details on using hashes here.

File details

Details for the file telegram_advanced-0.1.4-py3-none-any.whl.

File metadata

File hashes

Hashes for telegram_advanced-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 2681d890d42ce80437c18912b3278d2cb44839dff25cdf22c24d0ebac1dd7e86
MD5 fb0105ae2b7056517f9d20924e3155db
BLAKE2b-256 81808c7387ce9190e64d2a23f6065a5dabf638782e45dc7f57e99d130b5e1327

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