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

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for aiotgbot-0.15.0.tar.gz
Algorithm Hash digest
SHA256 463975d66e0fb16c5936143a1813f22e45cc46cb8dc7110e35a56761a0cacadf
MD5 46585a1cb6f6e621d80ca53c450c726c
BLAKE2b-256 ffebeabe787d5c10882df7d20f22e5c18528892b4f1fbb9dc53fa80028b80b36

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for aiotgbot-0.15.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5fa22730b146ec0ff58cc96e4de2c874bff876e0d8673d3d520eb0b746ac7e42
MD5 9ac247d21a5fb370135e519d04f89b80
BLAKE2b-256 b277186572d4e4cd956a5977b6e7901bf16d546c379d1fae05e4e52c61eabf09

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