Use tg to send Telegram messages, attach files, and listen for replies from the command line. Trigger when the user wants to send notifications, share files, or receive messages via Telegram.
3 stars
0 forks
Rust
17 views
SKILL.md
name: tg description: Use tg to send Telegram messages, attach files, and listen for replies from the command line. Trigger when the user wants to send notifications, share files, or receive messages via Telegram. user-invocable: true
tg - Telegram CLI
tg sends messages and files to a pre-configured Telegram chat.
Setup
Ask the user to run tg setup once to configure the bot token and chat ID.
You cannot do the setup alone.
Sending messages
# Positional arguments
tg "Hello, World!"
tg hello world
# From stdin
echo "build done" | tg
cat log.txt | tg
# Escape sequences
tg -e "line one\nline two"
# Parse modes
tg -m markdown "*bold* _italic_"
tg -m html "<b>bold</b>"
# Silent (no notification)
tg -s "low priority alert"
Attaching files
# Single file
tg attach report.pdf
# Multiple files / glob
tg attach *.log
tg attach foo.txt bar.c
# Silent
tg attach -s backup.tar.gz
Interactive mode
Stream stdin updates by editing a single message:
some-command | tg -i
some-command | tg -i -f 2 # update every 2s
Listening for replies
tg listen # prints incoming messages, stops on /eof
tg listen > out.txt
Config management
tg config show # print config path and contents
tg config reset # delete config for re-setup
Library usage
use tg_cli::telegram;
#[tokio::main]
async fn main() {
telegram!("build {} complete", 42);
}
Key flags
| Flag | Description |
|---|---|
-e |
Interpret escape sequences |
-n |
Strip trailing newline |
-m MODE |
Parse mode: markdown or html |
-i |
Interactive mode (edit one message) |
-f SECS |
Interactive update frequency |
-s |
Silent (no notification) |
-q |
Quiet (suppress non-error output) |