Skip to content

SKY-ALIN/telegram-text

Repository files navigation

telegram-text

Python markup module for Telegram messenger. This module provides a rich list of components to build any possible markup fast and render it to specific html and MarkdownV2 formats.

versions Tests Code Quality codecov PyPI version fury.io license


Installation

Install using pip install telegram-text or poetry add telegram-text

Also, telegram-text is integrated into following packages:

Module Installation Import Documentation
python-telegram pip install python-telegram from telegram.text import ... Readme
OrigamiBot pip install origamibot[telegram-text] from origamibot.text import ... Release
TGramBot pip install tgrambot from tgrambot.text import ... Readme

Basic Example

from telegram_text import Bold, Italic, Underline

text = Underline(Bold("Bold") + "and" + Italic("italic") + "with underline.")

Advanced Example

from telegram_text import Bold, Chain, Italic, TOMLSection, Hashtag, Link, UnorderedList

description = "A Channel about software developing and distributing. Subscribe to follow new technologies."
tags: dict[str, str] = {...}  # Tags description with following format `tag: tag_description`
links: dict[str, str] = {...}  # Links with following format `text: url`

menu = Chain(
    TOMLSection(
        'Menu',
        Italic(description),
    ),
    TOMLSection(
        'Tags',
        *[Hashtag(tag, style=Bold) + f"- {about}" for tag, about in tags.items()],
    ),
    TOMLSection(
        'Links',
        UnorderedList(*[Link(text, url) for text, url in links.items()]),
    ),
    sep='\n\n'
)

Advanced Example Result


Full documentation and reference are available at telegram-text.alinsky.tech