telegram-ascii-tableFormat tabular data as ASCII box tables for Telegram. Stdin-only input eliminates shell injection risks. Handles smart column sizing, text wrapping, and proper padding for monospace display.
Install via ClawdBot CLI:
clawdbot install NaLG/telegram-ascii-tableFormat tabular data as ASCII box-drawing tables that render correctly in Telegram code blocks.
{baseDir}/scripts/ascii-table.py <<'EOF'
Name|Value|Status
Server|web-01|Online
Database|db-01|Syncing
EOF
Wrap output in triple backticks when sending to Telegram.
# Desktop mode (default): Unicode box chars, 58 char width
ascii-table <<'EOF'
Server|Status|Uptime
web-01|Online|14d 3h
db-01|Syncing|2d 12h
EOF
# Mobile mode: ASCII chars, 48 char width
ascii-table --mobile <<'EOF'
Task|Status
Deploy|Done
Test|Pending
EOF
# Custom width
ascii-table --width 80 <<'EOF'
Column|Another Column
data|more data
EOF
cat data.txt | ascii-table
echo -e 'Name|Value\nRow1|Data1' | ascii-table
some-command | ascii-table --mobile
āāāāāāāāāāāāā¬āāāāāāāā¬āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā Flag ā Short ā Description ā
āāāāāāāāāāāāā¼āāāāāāāā¼āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā¤
ā --desktop ā -d ā Unicode box chars, 58 char width (DEFAULT) ā
āāāāāāāāāāāāā¼āāāāāāāā¼āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā¤
ā --mobile ā -m ā ASCII chars, 48 char width ā
āāāāāāāāāāāāā¼āāāāāāāā¼āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā¤
ā --width N ā -w N ā Override default width ā
āāāāāāāāāāāāā“āāāāāāāā“āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
āāāāāāāāāāāāāāāāā¬āāāāāāāāāāāāāāāāāāāāāāā¬āāāāāāāāāāāāāāāāāāāāāā
ā Aspect ā Desktop (default) ā Mobile ā
āāāāāāāāāāāāāāāāā¼āāāāāāāāāāāāāāāāāāāāāāā¼āāāāāāāāāāāāāāāāāāāāāā¤
ā Characters ā Box drawing ā ASCII (+ - chars) ā
āāāāāāāāāāāāāāāāā¼āāāāāāāāāāāāāāāāāāāāāāā¼āāāāāāāāāāāāāāāāāāāāāā¤
ā Default width ā 58 chars ā 48 chars ā
āāāāāāāāāāāāāāāāā¼āāāāāāāāāāāāāāāāāāāāāāā¼āāāāāāāāāāāāāāāāāāāāāā¤
ā Rendering ā Clean on desktop ā Reliable everywhere ā
āāāāāāāāāāāāāāāāā¼āāāāāāāāāāāāāāāāāāāāāāā¼āāāāāāāāāāāāāāāāāāāāāā¤
ā Use when ā Recipient on desktop ā Recipient on mobile ā
āāāāāāāāāāāāāāāāā“āāāāāāāāāāāāāāāāāāāāāāā“āāāāāāāāāāāāāāāāāāāāāā
Unicode box-drawing characters render at inconsistent widths on mobile Telegram. Use --mobile for mobile recipients.
|āāāāāāāāāāāā¬āāāāāāāāāāā¬āāāāāāāāāāā
ā Server ā Status ā Uptime ā
āāāāāāāāāāāā¼āāāāāāāāāāā¼āāāāāāāāāāā¤
ā web-01 ā Online ā 14d 3h ā
āāāāāāāāāāāā¼āāāāāāāāāāā¼āāāāāāāāāāā¤
ā db-01 ā Syncing ā 2d 12h ā
āāāāāāāāāāāā“āāāāāāāāāāā“āāāāāāāāāāā
+------------+----------+----------+
| Server | Status | Uptime |
+------------+----------+----------+
| web-01 | Online | 14d 3h |
+------------+----------+----------+
| db-01 | Syncing | 2d 12h |
+------------+----------+----------+
āāāāāāāāāāā¬āāāāāāāāā¬āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā Task ā Status ā Notes ā
āāāāāāāāāāā¼āāāāāāāāā¼āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā¤
ā Deploy ā Done ā Rolled out to prod successfully ā
ā API ā ā ā
āāāāāāāāāāā¼āāāāāāāāā¼āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā¤
ā Fix bug ā WIP ā Waiting on upstream OAuth fix ā
āāāāāāāāāāā“āāāāāāāāā“āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
This script intentionally does not accept row data as CLI arguments.
Shell argument parsing happens before any script runs. Characters like ` `, $, and ! in double-quoted args get executed or expanded by the shell ā not by the script receiving them. For example, whoami ` would execute and substitute its output before the script ever sees it.
By requiring stdin input, user data bypasses shell parsing entirely. A quoted heredoc (<<'EOF') passes everything through literally ā no escaping needed, no execution possible.
| separates columns (cannot appear in cell content)Generated Mar 1, 2026
System administrators can pipe server status data from monitoring tools like Nagios or custom scripts into this skill to create clean ASCII tables. The output can be automatically posted to Telegram channels where teams monitor infrastructure health in real-time, with mobile mode ensuring readability on phones during on-call rotations.
Sales teams can export CRM data as pipe-delimited files and convert them into formatted tables for Telegram updates. Managers receive daily pipeline snapshots with deal stages, values, and owner information in a structured format that's easily readable during mobile meetings or quick check-ins.
Project managers can generate status reports from task tracking systems and format them as ASCII tables for team communication. The wrapping feature accommodates detailed task descriptions while maintaining table structure, making stand-up meeting notes clear and organized in Telegram group chats.
Retail or warehouse systems can output inventory counts, low-stock alerts, or shipment data as pipe-separated values, which this skill converts to tables. Staff receive formatted inventory updates on Telegram that display clearly even on basic mobile devices, facilitating quick stock decisions.
Educational institutions can process student grade exports from learning management systems into clean ASCII tables. Instructors can share grade distributions or individual performance summaries in Telegram channels with students, using mobile mode for accessibility across various devices.
Offer a free tier for basic table generation with limited features, then charge for advanced options like custom delimiters, alignment controls, or API access. Integrate with popular data sources (Google Sheets, Airtable) and provide premium Telegram bot features for automated reporting.
License the table generation engine to companies for embedding into their internal tools and monitoring systems. Provide white-label solutions with custom branding and support for proprietary data formats, targeting organizations needing secure, internal data presentation solutions.
Package the skill as part of a broader developer toolkit for data formatting and Telegram integration. Sell through developer marketplaces with one-time purchase or subscription options, offering support, documentation, and integration templates for common programming languages.
š¬ Integration Tip
Use heredoc syntax (<<'EOF') for safe data input without shell escaping issues, and always wrap output in triple backticks for proper Telegram code block rendering.
iMessage/SMS CLI for listing chats, history, watch, and sending.
Use when you need to control Discord from Clawdbot via the discord tool: send messages, react, post or upload stickers, upload emojis, run polls, manage threads/pins/search, fetch permissions or member/role/channel info, or handle moderation actions in Discord DMs or channels.
Use when you need to control Slack from Clawdbot via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.
Send WhatsApp messages to other people or search/sync WhatsApp history via the wacli CLI (not for normal user chats).
Build or update the BlueBubbles external channel plugin for Clawdbot (extension package, REST send/probe, webhook inbound).
OpenClaw skill for designing Telegram Bot API workflows and command-driven conversations using direct HTTPS requests (no SDKs).