ivnkara/telegram-entities-decoder

PHP的Telegram实体解码器

v0.0.3 2023-11-07 12:42 UTC

This package is auto-updated.

Last update: 2024-09-07 14:46:05 UTC


README

Build Status Latest Stable Version Total Downloads Latest Unstable Version License PHP Version Require

EntityDecoder

此类从Telegram机器人的消息(粗体、斜体等)中解码样式实体,在文本中带有内联实体,尽可能地复制(如果可能)消息最初发送到机器人时的确切样式。所有这些工作都是必要的,因为Telegram返回的是UTF-16代码单元的实体偏移量和长度,这在PHP中很难正确解码

兼容性

PHP >= 7.0

特性

  • 解码文本消息和附件标题中的实体
  • 支持所有Telegram解析模式(Markdown、HTML和MarkdownV2)。HTML的熵更高,但它是最简单、最好的选择,因此推荐使用。
  • 支持文本字段中的emoji
  • 易于使用

注意:Markdown解析模式已弃用,不再更新,因此不支持所有实体。请使用MarkdownV2或HTML。

待办事项

  1. 管理异常和错误输入
  2. 找到一种更简单的方法来计算emoji长度,而不使用正则表达式或任何需要从emoji数据库更新的其他方法。
  3. 从右到左书写的兼容性

示例用法

$entity_decoder = new EntityDecoder('HTML');
$decoded_text = $entity_decoder->decode($message);

查看demo文件夹以获取完整示例

Composer

composer require lucadevelop/telegram-entities-decoder

使用方法

require 'vendor/autoload.php';
use lucadevelop\TelegramEntitiesDecoder\EntityDecoder;
[...]
$entity_decoder = new EntityDecoder('HTML');
$decoded_text = $entity_decoder->decode($message);

致谢

联系方式

Telegram @LucaDevelop