Telegram Ascii Table

📊 安全管道输入,秒变 Telegram 表格

通过 stdin 安全接收数据,生成适用于 Telegram 代码块的 ASCII 表格,支持桌面/移动端双模式渲染。

收藏
10.3k
安装
2.1k
版本
1.1.0
CLS 安全扫描中
预计需要 3 分钟...

使用说明

功能概述

telegram-ascii-table 是一个将表格数据格式化为 ASCII/Unicode 框线表格的实用工具,专为 Telegram 等即时通讯平台的等宽字体代码块显示而设计。其核心设计哲学是安全性优先:强制使用 stdin 输入(heredoc 或管道),完全规避 shell 参数注入风险。

核心用法

输入格式为管道符 | 分隔的纯文本,通过 heredoc 或管道传递:

# 推荐:heredoc 防止 shell 解析
ascii-table <<'EOF'
Name|Value
Server|web-01
EOF

# 或管道输入
cat data.txt | ascii-table

双模式渲染

  • Desktop 模式(默认):Unicode 框线字符(┌─┬─┐),58 字符宽度,桌面端显示美观
  • Mobile 模式(--mobile):ASCII 字符(+-|),48 字符宽度,移动端兼容性强

显著优点

1. 安全设计:stdin-only 输入彻底消除命令注入、变量扩展、反引号执行等 shell 解析风险
2. 智能排版:自动计算列宽、文本自动换行、单元格边距填充

3. 即开即用:无需依赖库,单 Python 脚本即可运行

4. 平台适配:针对 Telegram 代码块特性优化,桌面/移动端双模式切换

局限性与风险

| 限制项 | 说明 |
|--------|------|
| 分隔符冲突 | 单元格内容不能包含 `\|` 管道符 |
| 宽字符问题 | Emoji、CJK 等宽字符可能导致对齐偏移 |
| 换行策略 | 长单词可能在任意位置断行,非智能断词 |
| 对齐方式 | 仅支持左对齐,无数字右对齐 |

适用人群

  • 运维人员:快速将命令输出整理为可读表格发送至团队群
  • 开发者:在 Telegram 中分享结构化数据、配置状态、监控结果
  • 安全意识强的用户:需要处理不可信数据时,优先选择此 stdin-only 方案

常规风险提示

  • 输入数据中的 | 会被识别为列分隔符,需预处理替换
  • 超宽表格在移动端可能产生水平滚动,建议配合 --mobile 使用
  • 虽规避了 shell 注入,但脚本本身仍需从可信来源获取

Telegram Ascii Table 内容

scripts文件夹
手动下载zip · 6.0 kB
ascii-table.pytext/plain
请选择文件