- What is telegram-bot-essentials/essence used for?
- Telegram Bot Essentials Essence is a Laravel/PHP package that provides building blocks for Telegram bots, including command, reply-key and callback-query buses, conversational state, and per-bot tenancy. It is intended to reduce custom bot plumbing so you can focus on bot workflows and integrations. The package is currently pre-1.0 beta, so evaluate it with a pilot rather than assuming production stability.
- Does it support multiple Telegram bots in one Laravel application?
- Yes, multi-bot support is a stated design goal: the package description mentions multi-bot Telegram apps and per-bot tenancy. The practical details, such as how bot tokens, configuration, and tenancy boundaries are isolated, still need to be confirmed against the package docs and code. Because this is a 0.x beta, test multi-bot routing and token handling in an isolated environment before relying on it.
- Which Laravel and PHP versions does this package support?
- The provided package context does not list specific Laravel or PHP version constraints. Check the package composer.json and README for exact requirements before adding it to an existing application. Also validate compatibility with your queue driver, webhook infrastructure, and target Telegram Bot API behavior rather than assuming broad support.
- Is v0.19.0-beta.1 ready for production?
- No, treat v0.19.0-beta.1 as a pre-1.0 beta and not production-ready by default. The technical assessment recommends an isolated pilot, with production adoption deferred until a stable release or explicit risk acceptance after reviewing the changelog. Pin the exact beta tag in Composer and wrap package calls behind an internal adapter so you can replace or upgrade it safely.
- How do I install telegram-bot-essentials/essence in a Laravel app?
- Install it with Composer using the exact beta tag, such as composer require telegram-bot-essentials/essence:0.19.0-beta.1, then follow the package docs for service provider registration and configuration publishing. Because the README excerpt was not provided here, confirm the service provider, config keys, and migration steps in the repository. Run it first in a non-production bot and check dependency constraints before installing alongside existing packages.
- Does it support webhook and polling modes for receiving Telegram updates?
- The assessment identifies webhook or polling entrypoints as expected integration points, but the provided notes do not confirm that both modes are implemented. Review the package documentation and source for webhook controllers, polling commands, and update dispatch behavior. Test your chosen mode in staging, including failure paths such as webhook retries and malformed updates.
- How does conversational state work and where is it stored?
- Conversational state is listed as a package feature, but the provided context does not document its storage backend or lifecycle. Check the README and configuration for whether state is stored in cache, database, or custom stores, and how it is keyed per chat and bot. Validate cleanup, concurrency, and multi-bot tenancy behavior before using it in long-running conversations.
- How should I handle queues, retries, and Telegram rate limits with this package?
- Use Laravel queues and idempotent handlers, and do not assume the package alone provides production-scale throughput or automatic backoff. Confirm whether it supports retries, backoff, and horizontal workers for update processing and outbound API calls. Add observability around update receipt, handler failures, and Telegram API errors so rate limiting or queue backlog is visible.
- How can I test a Telegram bot built with Essence?
- Start by running the package tests, then use a staging bot and webhook to exercise one or two low-risk commands through the command and callback-query buses. Test failure paths, rate limits, malformed updates, token handling, and rollback before expanding scope. For application-level tests, wrap package calls behind your own interfaces so you can fake bot interactions without depending on the beta internals.
- What changed between v0.18.1 and v0.19.0-beta.1?
- The release notes provided here contain only a changelog link, so the exact changes are not confirmed. Review the changelog, commits, and diff for breaking API or configuration changes, dependency shifts, and incomplete beta features before upgrading. Treat the move from 0.18.1 to 0.19.0-beta.1 as potentially breaking until you have verified and tested it.