#7780: feat(telegram): add /dashboard command with inline keyboard UI
channel: telegram
stale
Cluster:
Telegram Inline Button Enhancements
## Summary
- 텔레그램 `/dashboard` 명령어 추가
- 인라인 키보드 UI로 에이전트 상태 확인 가능
- 테스트 포함
## Test plan
- [x] 단위 테스트 통과
- [x] 로컬 텔레그램 봇 테스트
🤖 Generated with [Claude Code](https://claude.ai/claude-code)
<!-- greptile_comment -->
<h2>Greptile Overview</h2>
<h3>Greptile Summary</h3>
This PR adds a new Telegram native command `/dashboard` that sends an HTML-formatted “OpenClaw Dashboard” message with an inline keyboard, plus a `d:*` callback handler that edits the dashboard message to navigate between views (home/agents/agent detail/sessions/channels/logs). The dashboard data is sourced from the gateway `health` RPC (`probe: true`) and rendered via new view/format utilities, with unit tests covering formatters, view rendering, and basic callback handling.
<h3>Confidence Score: 2/5</h3>
- Not safe to merge as-is due to an authorization gap on dashboard callbacks.
- The dashboard callback path is executed before the existing inline-button authorization checks, so unauthorized users may be able to trigger gateway health probes and edit the dashboard message. Other issues are smaller (error reporting clarity) and don’t block merge, but the auth bypass is a significant behavior regression for allowlist-only setups.
- src/telegram/bot-handlers.ts and src/telegram/dashboard/index.ts
<!-- greptile_other_comments_section -->
<sub>(2/5) Greptile learns from your feedback when you react with thumbs up/down!</sub>
**Context used:**
- Context from `dashboard` - CLAUDE.md ([source](https://app.greptile.com/review/custom-context?memory=fd949e91-5c3a-4ab5-90a1-cbe184fd6ce8))
- Context from `dashboard` - AGENTS.md ([source](https://app.greptile.com/review/custom-context?memory=0d0c8278-ef8e-4d6c-ab21-f5527e322f13))
<!-- /greptile_comment -->
Most Similar PRs
#6457: fix(telegram): register commands for group scope + preserve topic t...
by dae-sun · 2026-02-01
73.4%
#7528: feat: Adds slash command suggestions to chat
by JohnnyD1776 · 2026-02-02
72.9%
#7316: fix: /chat dashboard performance
by felipcsousa · 2026-02-02
72.3%
#14549: feat(telegram): add support for URL-type inline buttons
by kokosthief · 2026-02-12
71.3%
#12950: feat: add Telegram pin/unpin message support
by alex-muradov · 2026-02-09
71.0%
#9265: Feature: Telegram Inline Button Support for Exec Approvals
by vishaltandale00 · 2026-02-05
70.6%
#14367: feat(telegram): add message read via inbound message store
by michaelquinlan88 · 2026-02-12
70.3%
#19991: feat(telegram): callback direct mode with dedupe, button state, and...
by li-yifei · 2026-02-18
70.0%
#19917: feat(discord): allow disabling intermediate status reactions
by Gitjay11 · 2026-02-18
69.5%
#22095: feat: add Telegram inline buttons to exec approval requests
by AIflow-Labs · 2026-02-20
69.5%