Skip to main content

Asynchronous library for Telegram bot API

Project description

Key Features

  • Asyncio and aiohttp based

  • All Telegram Bot API types and methods supported

  • Bot API rate limit support

  • Both long polling and webhooks supported

  • Fully type annotated (PEP 484)

Installation

aiotgbot is available on PyPI. Use pip to install it:

pip install aiotgbot

Requirements

Using aiotgbot

from typing import AsyncIterator

from aiotgbot import (Bot, BotUpdate, HandlerTable, PollBot,
                      PrivateChatFilter, Runner)
from aiotgbot.storage_memory import MemoryStorage

handlers = HandlerTable()


@handlers.message(filters=[PrivateChatFilter()])
async def reply_private_message(bot: Bot, update: BotUpdate) -> None:
    assert update.message is not None
    name = (f'{update.message.chat.first_name} '
            f'{update.message.chat.last_name}')
    await bot.send_message(update.message.chat.id, f'Hello, {name}!')


async def run_context(runner: Runner) -> AsyncIterator[None]:
    storage = MemoryStorage()
    await storage.connect()
    handlers.freeze()
    bot = PollBot(runner['token'], handlers, storage)
    await bot.start()

    yield

    await bot.stop()
    await storage.close()


def main() -> None:
    runner = Runner(run_context)
    runner['token'] = 'some:token'
    runner.run()


if __name__ == '__main__':
    main()

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

aiotgbot-0.11.1.tar.gz (31.9 kB view details)

Uploaded Source

Built Distribution

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

aiotgbot-0.11.1-py3-none-any.whl (35.6 kB view details)

Uploaded Python 3

File details

Details for the file aiotgbot-0.11.1.tar.gz.

File metadata

  • Download URL: aiotgbot-0.11.1.tar.gz
  • Upload date:
  • Size: 31.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.10

File hashes

Hashes for aiotgbot-0.11.1.tar.gz
Algorithm Hash digest
SHA256 24971cdf6f1bf15824fd2077ab314436ac7f910d098066c6ecffd5cfb53a061e
MD5 aa98a55a7b256111e6531185c2629a71
BLAKE2b-256 50448ed03a6d94b46cdc0ad475d04d470fbd08e2f38a3647ca0708e5809950ae

See more details on using hashes here.

File details

Details for the file aiotgbot-0.11.1-py3-none-any.whl.

File metadata

  • Download URL: aiotgbot-0.11.1-py3-none-any.whl
  • Upload date:
  • Size: 35.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.10

File hashes

Hashes for aiotgbot-0.11.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9d6442073a5f5609c219ec2a6b9bb336684eb678d603d11b75ae5a9f2a43fcb9
MD5 442a24191387553db9dd306986b08188
BLAKE2b-256 4da5ac2a2cb88e4f7d43f2c5cff8fe97081d0eb40961eb13989f66c44eff0034

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