Skip to main content

async telegram handler

Project description

telegram_handler

Logging handler that sends log messages directly to either a telegram channel or chat

Motivation

Tracking program execution state remotely - directly from your telegram account

Screenshots

screenshot

Code Examples

Basic usage example:

import logging

from telegram_handler import AsyncTelegramHandler

BOT_TOKEN = '1612485124:AAFW9JXxjqY9d-XayMKh8Q4-_iyHkXSw3N8'
CHANNEL_NAME = 'example_channel_logger'


def main():
    telegram_log_handler = AsyncTelegramHandler(BOT_TOKEN, CHANNEL_NAME)
    my_logger = logging.getLogger('My-Logger')
    my_logger.setLevel(logging.INFO)
    my_logger.addHandler(logging.StreamHandler())
    my_logger.addHandler(telegram_log_handler)

    for i in range(5):
        my_logger.error(f'iterating {i}..')


if __name__ == '__main__':
    main()

Another option is to add the handler to the root logger:

import logging

from telegram_handler import AsyncTelegramHandler

BOT_TOKEN = '1612485124:AAFW9JXxjqY9d-XayMKh8Q4-_iyHkXSw3N8'
CHANNEL_NAME = 'example_channel_logger'


def main():
    telegram_log_handler = AsyncTelegramHandler(BOT_TOKEN, CHANNEL_NAME)
    logging.basicConfig(
        handlers = [
            telegram_log_handler
        ],
        level=logging.INFO,
        format='%(asctime)s | %(levelname)s | %(name)s | %(message)s'
    )
    my_logger = logging.getLogger('My-Logger')
    for i in range(5):
        my_logger.error(f'iterating {i}..')


if __name__ == '__main__':
    main()

Installation

pip install telegram-handler

Preparation

In order to use the package you should:

  • Create a bot, you can see how this is being done here.
  • Create a channel, you can see how this is being done here.

How to use?

There are 2 possibilities:

  • Use AsyncTelegramHandler and send messages from a different thread (recommended)
  • Use BlockingTelegramHandler and send messages from the same thread.
    :warning: warning: sometimes the logger should wait for a cooldown (telegram constrains), using this handler will block the entire program

Parameters:

  • bot_token - The token that returns from the BotFather when creating the bot.
    bot_token
  • channel_name - Each chat in Telegram have chat id.
    • Channel name is the chat id for public channels. So for the public channel example_channel_logger the chat id will be example_channel_logger
    • The channel_name can be any chat id, you can see how to obtain chat id here.

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-handler-1.2.tar.gz (2.5 kB view details)

Uploaded Source

Built Distribution

telegram_handler-1.2-py3-none-any.whl (2.2 kB view details)

Uploaded Python 3

File details

Details for the file telegram-handler-1.2.tar.gz.

File metadata

  • Download URL: telegram-handler-1.2.tar.gz
  • Upload date:
  • Size: 2.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.52.0 CPython/3.8.6

File hashes

Hashes for telegram-handler-1.2.tar.gz
Algorithm Hash digest
SHA256 622a96653f615703693006ca766d690679d6200895a9112dff600a1bb7372db6
MD5 e9918dfb20e453f1f14aba211708f088
BLAKE2b-256 25708eb5b7956fdfa0fcfba52ae0997fb8adf81856845e46ea4c20531a1d3e28

See more details on using hashes here.

File details

Details for the file telegram_handler-1.2-py3-none-any.whl.

File metadata

  • Download URL: telegram_handler-1.2-py3-none-any.whl
  • Upload date:
  • Size: 2.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.52.0 CPython/3.8.6

File hashes

Hashes for telegram_handler-1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 339bc37fd95e50b579795cb7a5fa91ec69a5dd0ee8f99156f510dedafbc00095
MD5 fe307797090d4a7d23b0332c82637b28
BLAKE2b-256 106a18a347c82d1a530888cd263e2b8f8ec61c8b96237bbe12129e021c12cc0a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page