About find-user
A skill for resolving Telegram usernames, phone numbers, or IDs into user or chat profile details. It is intended for workflows that need structured profile data from Telegram.
Key features
- 01Resolve usernames, phone numbers, and IDs
- 02Return user and chat profile JSON
Use cases
- 01Look up a Telegram user from a username
- 02Retrieve channel details from an ID
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ terrylica/ cc-skills --skill find-userAfter installing, type/find-userin Claude Code to confirm it loaded.
Details
From the project READMEFind Telegram User
Resolve usernames, phone numbers, or IDs to full user/chat profile information.
Self-Evolving Skill: This skill improves through use. If instructions are wrong, parameters drifted, or a workaround was needed — fix this file immediately, don't defer. Only update for real, reproducible issues.
Preflight
- Session must exist:
~/.local/share/gramjs/<profile>.session- If missing, run
/tlg:setupfirst
- If missing, run
Usage
/usr/bin/env bash << 'EOF'
ROOT="$(cc-plugin-root tlg)"
SCRIPT="$ROOT/scripts/tg-cli.ts"
# By username
bun "$SCRIPT" find-user @username
# By user ID
bun "$SCRIPT" find-user 2124832490
# By phone (must be in contacts)
bun "$SCRIPT" find-user +15559876543
# Works for groups/channels too
bun "$SCRIPT" find-user @channelname
EOF
Output
Returns JSON with profile information:
{
"type": "User",
"id": 2124832490,
"first_name": "Name",
"last_name": null,
"username": "username",
"phone": "1234567890",
"bot": false
}
For groups/channels:
{
"type": "Channel",
"id": 1234567890,
"title": "Group Name",
"username": "groupname",
"participants_count": 42
}
Post-Execution Reflection
After this skill completes, check before closing:
- Did the command succeed? — If not, fix the instruction or error table that caused the failure.
- Did parameters or output change? — If tg-cli.ts's interface drifted, update Usage examples and Parameters table to match.
- Was a workaround needed? — If you had to improvise (different flags, extra steps), update this SKILL.md so the next invocation doesn't need the same workaround.
Only update if the issue is real and reproducible — not speculative.