Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lucadevelop/telegram-entities-decoder
Telegram entities decoder in PHP
https://github.com/lucadevelop/telegram-entities-decoder
entities html markdown php php7 telegram telegram-bot telegram-bot-api
Last synced: 23 days ago
JSON representation
Telegram entities decoder in PHP
- Host: GitHub
- URL: https://github.com/lucadevelop/telegram-entities-decoder
- Owner: LucaDevelop
- License: mit
- Created: 2020-07-15T06:46:17.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-02-01T17:17:07.000Z (9 months ago)
- Last Synced: 2024-04-14T07:41:53.130Z (7 months ago)
- Topics: entities, html, markdown, php, php7, telegram, telegram-bot, telegram-bot-api
- Language: PHP
- Homepage:
- Size: 37.1 KB
- Stars: 28
- Watchers: 3
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# telegram-entities-decoder
[![Build Status](https://scrutinizer-ci.com/g/LucaDevelop/telegram-entities-decoder/badges/build.png?b=master)](https://scrutinizer-ci.com/g/LucaDevelop/telegram-entities-decoder/build-status/master) [![Latest Stable Version](https://img.shields.io/github/v/release/lucadevelop/telegram-entities-decoder?display_name=tag&label=stable)](https://packagist.org/packages/lucadevelop/telegram-entities-decoder) [![Total Downloads](http://poser.pugx.org/lucadevelop/telegram-entities-decoder/downloads)](https://packagist.org/packages/lucadevelop/telegram-entities-decoder) [![Latest Unstable Version](http://poser.pugx.org/lucadevelop/telegram-entities-decoder/v/unstable)](https://packagist.org/packages/lucadevelop/telegram-entities-decoder) [![License](http://poser.pugx.org/lucadevelop/telegram-entities-decoder/license)](https://packagist.org/packages/lucadevelop/telegram-entities-decoder) [![PHP Version Require](http://poser.pugx.org/lucadevelop/telegram-entities-decoder/require/php)](https://packagist.org/packages/lucadevelop/telegram-entities-decoder)![EntityDecoder](https://user-images.githubusercontent.com/68305127/164949030-622a200e-8c18-4480-b8e2-08476801bb90.PNG)
This class decode style entities from Telegram bot messages (bold, italic, etc.) in text with inline entities that duplicate (when possible) the
exact style the message had originally when was sended to the bot.
All this work is necessary because Telegram returns offset and length of the entities in UTF-16 code units that they've been hard to decode correctly in PHPConsider to ⭐️ Star this project
## Compatibility
PHP >= 7.0## Features
- Decode entities from text messages and attachments caption.
- Supports all Telegram parse modes (Markdown, HTML and MarkdownV2). HTML has more entropy but it's easily the best and it's recommended.
- Supports emoji in the text field
- Easy to use_NOTE: Markdown parse mode is deprecated and no longer up-to-date so it doesn't support all entities. Use MarkdownV2 or HTML._
## Example usage
```
$entity_decoder = new EntityDecoder('HTML');
$decoded_text = $entity_decoder->decode($message);
```
_See demo folder for full example_## Composer
```
composer require lucadevelop/telegram-entities-decoder
```
Usage:
```
require 'vendor/autoload.php';
use lucadevelop\TelegramEntitiesDecoder\EntityDecoder;
[...]
$entity_decoder = new EntityDecoder('HTML');
$decoded_text = $entity_decoder->decode($message);
```## Credits
- Telegram docs: https://core.telegram.org/bots/api#formatting-options
- Inspired By: https://github.com/php-telegram-bot/core/issues/544#issuecomment-564950430## Contacts
![Telegram](https://telegram.org/favicon.ico) [@LucaDevelop](https://t.me/LucaDevelop)