Skip to main content

Convert Telegram MarkdownV2 text to LINE Flex Messages

Project description

tg-markdown-to-flex

Convert Telegram MarkdownV2 text to LINE Flex Messages.

Available as both a Rust crate and a Python package (via PyO3).

What it does

Takes a string with Telegram MarkdownV2 formatting and produces a LINE Flex Message JSON — a bubble with styled text spans, code blocks, and link buttons.

Formatting mapping

Telegram MarkdownV2 LINE Flex
*bold* span weight: "bold"
_italic_ span style: "italic"
__underline__ span decoration: "underline"
~strikethrough~ span decoration: "line-through"
`inline code` span with red color, small size
```code block``` separate text component, red/small
||spoiler|| span with near-white color
[text](url) blue underlined span + footer URI button

Python

Requires Python 3.13+.

Installation

uv add tg-markdown-to-flex

# or
pip install tg-markdown-to-flex

Usage

import json
from tg_markdown_to_flex import tg_markdown_to_flex

flex_json = tg_markdown_to_flex("Hello *bold* and _italic_ with [a link](https://example.com)")
message = json.loads(flex_json)

# Send via LINE Messaging API
# line_bot_api.push_message(to, FlexMessage(alt_text=message["altText"], contents=message["contents"]))

The function returns a JSON string representing a complete Flex Message (type "flex" with altText and contents).

Type checking

The package ships with PEP 561 type stubs.

Rust

Installation

[dependencies]
tg-markdown-to-flex = "0.1.0"

Usage

use tg_markdown_to_flex::{tg_markdown_to_flex, tg_markdown_to_flex_json};

// Get a FlexMessage struct
let message = tg_markdown_to_flex("Hello *world*");

// Or get JSON directly
let json = tg_markdown_to_flex_json("Hello *world*");

Testing

cargo test

License

MIT

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

tg_markdown_to_flex-0.1.3.tar.gz (19.4 kB view details)

Uploaded Source

Built Distributions

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

tg_markdown_to_flex-0.1.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (254.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

tg_markdown_to_flex-0.1.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (247.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

tg_markdown_to_flex-0.1.3-cp313-cp313-macosx_11_0_arm64.whl (221.2 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

tg_markdown_to_flex-0.1.3-cp313-cp313-macosx_10_12_x86_64.whl (223.5 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

File details

Details for the file tg_markdown_to_flex-0.1.3.tar.gz.

File metadata

  • Download URL: tg_markdown_to_flex-0.1.3.tar.gz
  • Upload date:
  • Size: 19.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for tg_markdown_to_flex-0.1.3.tar.gz
Algorithm Hash digest
SHA256 316824cdd41288d2d76cfb76d3af13b1cbe7e1d86ca447d65414776ff07dde04
MD5 efb563d58a7e8dc94297d8498a23b900
BLAKE2b-256 65ca67cdbf977c10933d7ce2c78eb452af71311e6b7af24284e68e927ac9a4cc

See more details on using hashes here.

File details

Details for the file tg_markdown_to_flex-0.1.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: tg_markdown_to_flex-0.1.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 254.0 kB
  • Tags: CPython 3.13, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for tg_markdown_to_flex-0.1.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c6b196858a81e51e42075ec4738768f752e4a2cf3a9abf27660e9045d6897b6d
MD5 22c80c51fa78ba49f1830b910debb2f1
BLAKE2b-256 532859712df778c512227963962b3c88c2f0c24839c9b5daacc4c0c49c7f368f

See more details on using hashes here.

File details

Details for the file tg_markdown_to_flex-0.1.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

  • Download URL: tg_markdown_to_flex-0.1.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
  • Upload date:
  • Size: 247.5 kB
  • Tags: CPython 3.13, manylinux: glibc 2.17+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for tg_markdown_to_flex-0.1.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 022ce49512e7474069dae2fad5b471e6a353eba33ed4d308b3e7e67d75d64ee0
MD5 fb00febb1eb825e2248c780a2b06cb97
BLAKE2b-256 2004edabcd456575b19b13f2b54848c7f8b918bf3a57fb37e5d86dfb363b200a

See more details on using hashes here.

File details

Details for the file tg_markdown_to_flex-0.1.3-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

  • Download URL: tg_markdown_to_flex-0.1.3-cp313-cp313-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 221.2 kB
  • Tags: CPython 3.13, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for tg_markdown_to_flex-0.1.3-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7c533fb71ece417d02f1c8d9be145cfaa1d8b505fc84c8cc1b1c314545ab5b8c
MD5 c9e5d1b863803e06173e798e995564eb
BLAKE2b-256 0a35b8341a0fcba629c1bc939e4a08ccbc4d642611c76b79ba627a0730cd47c3

See more details on using hashes here.

File details

Details for the file tg_markdown_to_flex-0.1.3-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

  • Download URL: tg_markdown_to_flex-0.1.3-cp313-cp313-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 223.5 kB
  • Tags: CPython 3.13, macOS 10.12+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for tg_markdown_to_flex-0.1.3-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 0c05f56489beeb5b4acdf890306986bc3349675b51ee02684e6fa63b56b81fb5
MD5 f8a41d4a7a958645b046f0eb583f0042
BLAKE2b-256 75977387d9262d5c2fc205e4cc96ee3935a6824d89b314867df9661e7c342c46

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