Zero-Config App & Dashboard
Instant bot boot with App::run(), auto-detecting runners, CLI toolkit, and a built-in real-time Web Dashboard for webhook inspection.
Declarative, stateful, and resilient.
Instant bot boot with App::run(), auto-detecting runners, CLI toolkit, and a built-in real-time Web Dashboard for webhook inspection.
Declarative update dispatching via
Stateful multi-step user dialogues with step navigation (to, stay, back, finish) and pluggable state storage drivers.
100% strict typing, property hooks, asymmetric visibility (private(set)), and bulletproof forward compatibility for unknown fields.
Seamless switching between WebhookMode (with secret token & safeResponse), PollingMode, and adaptive AutoMode.
Expressive builders for Inline and Reply keyboards, alongside Telegram spec-compliant HTML and MarkdownV2 text escaping.
Extensible onion architecture featuring token-bucket rate limiting, automatic 429 flood-wait pacing, and PSR-3 logging.
Instant type detection via $update->type, argument parsing, model extractors, and contextual chat/user ID resolution.
Test your bots with zero HTTP calls using TelegramFake, pre-configured stubs, and expressive assertions like assertSent.