Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Tdlib Bundle Laravel Package

yaroslavche/tdlib-bundle

Symfony bundle for integrating TDLib into PHP applications, with service configuration and a convenient wrapper for building Telegram clients. It helps wire TDLib dependencies and use Telegram’s API from Symfony services.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Feature feasibility for Telegram MTProto capabilities beyond the Bot API. TDLib is Telegram's official client library, so this bundle is the reference point for questions the Bot API cannot answer: acting as a user account rather than a bot, reading full message history, secret chats, multi-account session management, file transfers above bot limits, and full channel/group administration. Use it to score whether a "Telegram deep integration" epic is technically viable in PHP at all.
  • Build vs. buy for the Telegram transport layer. The realistic alternatives are: (a) official Bot API + a mainstream Laravel/Symfony bot package, (b) this Symfony bundle over tdlib/td via FFI, (c) a mature third-party MTProto client in another language (Telethon/Pyrogram-style) behind an internal service, (d) a hosted messaging-as-a-service vendor. This package defines the "thin self-hosted PHP wrapper" option in that matrix, which is what you actually need to price the alternatives against.
  • Roadmap sequencing for a Telegram-dependent product. Because it is a Symfony bundle rather than a Laravel package, adopting it implies an architecture decision — a separate Symfony/queue worker service that Laravel talks to over HTTP/queue — not a composer-require. That has roadmap consequences (one more deployable, one more runtime, a second framework in the stack) that belong in the plan, not in a sprint ticket.
  • Use cases it realistically unlocks: internal community/ops tooling (moderation, cross-posting, alerting into channels), customer-support inboxes that unify Telegram DMs with other channels, archival/export and migration tooling, CRM or data-warehouse sync from group chats, and userbot-style automation for accounts the business controls. It does not unlock consumer-scale messaging or anything requiring vendor SLAs.
  • Risk register input. 11 stars, 0 dependents, and a low health score are themselves a product finding: this is a single-maintainer, unproven dependency. That should trigger an explicit "we own this code if we adopt it" decision (fork, pin, and budget maintenance) before it appears in any committed roadmap item.

When to Consider This Package

Consider it when all of the following hold:

  • You are on (or are willing to add) Symfony as a service component. It is a Symfony bundle: it ships DI extension/configuration, service definitions, and likely a console command layer. Laravel's container will not autowire it, so "Laravel leverage" is indirect at best — you would run it as a sidecar/worker and expose an internal API.
  • Your requirement genuinely needs MTProto/user-account semantics — userbots, history access, secret chats, large files, multi-account sessions. If a bot token solves it, this package is strictly more cost and more risk than the Bot API.
  • You accept FFI-based operations: a compiled tdlib binary per platform/architecture, a PHP build with ext-ffi enabled, ffi.enable configuration, and a persistent long-running worker process (TDLib is stateful and callback-driven; it does not fit a request/response PHP-FPM lifecycle). Confirm your hosting (containers, autoscaling, read-only filesystems, ephemeral storage for the TDLib database directory) supports that before committing.
  • The workload is internal, low-to-moderate volume, or a proof of concept where a spike plus a vendored fork is an acceptable cost of learning.
  • You have PHP engineering capacity to read the wrapper's source and, if needed, patch it. With zero dependents there is no community to lean on for answers.

Look elsewhere when:

  • You need production SLAs, security review, or a support contract on the Telegram integration. There is no vendor and effectively no community here.
  • The team is Laravel-only and unwilling to operate a second framework runtime — prefer a Bot API package, or an external MTProto service in a language with a healthier ecosystem, called over HTTP/queue.
  • You only need bot messaging, webhooks, inline keyboards, payments, or simple notifications — the official Bot API is better supported, stateless, and dramatically cheaper to operate.
  • You need proven scale or multi-tenant isolation. Session files, TDLib databases, and rate-limit/ban risk per account are operational problems this bundle does not solve for you.
  • Licensing/compliance around automating user accounts is unclear for your market — that is a legal question this dependency will not answer.

How to Pitch It (Stakeholders)

For executives (one paragraph): Telegram's official Bot API cannot do several things our product may need — act as a real user account, read history, handle secret chats or large files. Reaching those capabilities requires TDLib, Telegram's own client library, and this package is a thin PHP/Symfony wrapper around it. It is technically credible because it wraps the official library, and it is not a safe default because it is a near-empty open-source project (11 stars, no downstream users, single maintainer). The recommendation is therefore a time-boxed technical spike, not a procurement: fund two to three engineering days to prove one concrete use case end-to-end in a container, and treat the result as evidence for a build-vs-buy decision — self-hosted PHP, an external MTProto service, or a paid messaging vendor. Do not put it on a committed roadmap until that spike passes and we have explicitly accepted owning a fork.

For engineering: this is a Symfony bundle over tdlib/td via FFI, so adoption means a long-running stateful worker (TDLib is callback-driven and keeps a local database), a per-platform compiled TDLib binary, ext-ffi enabled with ffi.enable set appropriately, and persistent storage for session/database directories. It will not fit PHP-FPM request lifecycles and will not composer require cleanly into a Laravel app — plan a separate Symfony worker service behind an internal queue or HTTP boundary. Expect to vendor and pin the dependency, read the wrapper source, and own fixes: with zero dependents there is no upstream community to escalate to, so the honest estimate includes a maintenance line item. The upside is real: it puts a genuine MTProto client inside our existing PHP operational stack and avoids introducing Python or Go plus a new deployment pipeline for the same capability.

Ask: approve the spike and the maintenance-ownership assumption; defer the vendor/build decision until the spike produces a working demo, an operational runbook sketch, and an estimate of what breaks at 10x volume.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
frankyso/ipaymu
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core