Skip to main content

Asynchronous library for Telegram bot API

Project description

Latest PyPI package version License Downloads count

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: aiotgbot-0.17.1.tar.gz
  • Upload date:
  • Size: 35.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.6

File hashes

Hashes for aiotgbot-0.17.1.tar.gz
Algorithm Hash digest
SHA256 40801b2d6884b2252c5961d48e1b2b3455ebedaa6854b65d941d6e16b9b1123b
MD5 43f67ea3dd46cb57f865bf8cb3c4a5cd
BLAKE2b-256 32be0b62dcd99f943a50e546e86da91b105f9a9e3b7d06cbe7cc5b305d9cf320

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aiotgbot-0.17.1-py3-none-any.whl
  • Upload date:
  • Size: 38.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.6

File hashes

Hashes for aiotgbot-0.17.1-py3-none-any.whl
Algorithm Hash digest
SHA256 fd4cfd7861c63c42f9c6e5a3a977281fdbb1e54669e8e584788e7e4b76642824
MD5 fa3fe56e8a848613ed64c1450518a8e5
BLAKE2b-256 0d64caa7ddf474d3595d70a41dc9b47c815122df6679a244059189a05c6e0931

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