Problem
channels list returns bare numeric IDs (e.g. 1234567890), but all other commands (messages list/search, topics list, sync jobs add, etc.) require the full prefixed format (-100XXXXXXXXXX).
Repro
# Get channel ID from list
tgcli channels list --json | jq '.[0].id'
# → "1234567890"
# Try to use it
tgcli messages list --chat 1234567890 --source live --limit 5
# → error: Peer not found in local cache
# Have to guess the -100 prefix
tgcli messages list --chat -1001234567890 --source live --limit 5
# → works
Expected
Either:
channels list returns the full prefixed ID that works everywhere, or
- All commands accept both formats and normalize internally
Option 2 is more robust — the user shouldn't need to know about Telegram's internal ID prefixing scheme.
Problem
channels listreturns bare numeric IDs (e.g.1234567890), but all other commands (messages list/search,topics list,sync jobs add, etc.) require the full prefixed format (-100XXXXXXXXXX).Repro
Expected
Either:
channels listreturns the full prefixed ID that works everywhere, orOption 2 is more robust — the user shouldn't need to know about Telegram's internal ID prefixing scheme.