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

Laragram Laravel Package

wekser/laragram

Laragram is a Laravel package that wraps the Telegram Bot API in a clean, Laravel-native way. Build Telegram bots with simple configuration, fluent message sending, webhook handling, and easy integration into your existing Laravel app.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

The package is a Laravel/PHP Telegram integration surface, with BotClient responsible for outbound message delivery and Support\ReplyMarkup providing inline-keyboard helpers. v2.3.2 is a narrow resilience fix: when Telegram rejects a message with 400 BUTTON_USER_PRIVACY_RESTRICTED, BotClient now strips tg://user?id=… URL buttons (and empty rows), logs a warning naming them, and resends the message without those buttons. This fits the existing architecture because it is contained inside the client send path and adds a small utility API rather than changing message construction contracts. Integration feasibility is high: the release is explicitly non-breaking and requires only composer update. Technical risk is low but not zero: the package cannot identify which specific button caused the refusal, so it drops every tg://user?id=… button in that message. That is a deliberate degradation path, not a silent failure, but it changes user-visible output for privacy-restricted users. Key questions: which Laravel and PHP versions are supported by this release; is the warning routed through the application’s configured logger; does the retry happen for queued notifications and all BotClient send paths; are ReplyMarkup::isUserLinkButton() and withoutUserLinks() covered by tests; and does the implementation ever risk duplicate delivery beyond the documented “first request was refused” case?

Integration Approach

Stack fit is straightforward for a Laravel/PHP application already using this package for Telegram notifications: upgrade via Composer, no migrations, no config changes, and no application code changes required to receive the fix. The migration path is a routine dependency update, ideally pinned through the existing composer.json constraint and validated in staging before production. Compatibility risk is low because the release is non-breaking, but product behavior changes for messages containing tg://user?id=… buttons. Sequencing should be: update in a non-production environment; send a test notification to a user whose privacy settings block profile links; confirm the message is delivered without the profile button and that a warning is logged; confirm messages without such buttons still behave identically; then roll to production. Teams that consider the profile button business-critical should add a fallback contact mention in the message text before or alongside the upgrade, since Telegram does not reveal which button was rejected and the package will remove all tg://user?id=… buttons from that message.

Operational Impact

Maintenance effort is minimal: one dependency update, no schema or configuration work, and no new runtime service. Support impact is moderate only where profile buttons are part of the product expectation: users may now receive messages without the button, and support staff should understand that this is an intentional fallback for privacy-restricted accounts. The new warning log is operationally useful but should be routed to an observable channel if delivery degradation matters; otherwise the fallback occurs without visibility. Scaling impact is negligible—the retry only happens on a specific Telegram refusal and does not add steady-state overhead. Failure modes are bounded: other Telegram errors still surface as before, non-user tg:// links are left alone, and the release states there is no double delivery because the first request was refused. The main residual risk is product-level, not technical: if the profile button is the primary way users reach a contact, dropping it may reduce utility even though the message arrives. Ramp-up is very low for engineers and moderate for support/product stakeholders who need to know that privacy settings can now cause button-stripping rather than total send failure.

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.
coleus/frame
thtg88/journalism
filagora/filagora-ai-forums
rlacerda83/query-parser
socialdept/atp-orm
cboxdk/laravel-assistant-client
socialdept/atp-resolver
socialdept/tenant-domains
tautvydasr/blade-class-names
socialdept/color-scales
maherelgamil/controller
coleus/widgets
coleus/table
coleus/users
coleus/music
coleus/health
coleus/calendar
coleus/notes
coleus/support
coleus/settings