PHPackages                             kettari/telegram-bundle - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. kettari/telegram-bundle

ActiveSymfony-bundle[Utility &amp; Helpers](/categories/utility)

kettari/telegram-bundle
=======================

Kaula TelegramBundle

1.3.2(8y ago)1105[13 issues](https://github.com/kettari/telegram-bundle/issues)MITPHPPHP &gt;=5.6.0

Since Mar 16Pushed 7y ago2 watchersCompare

[ Source](https://github.com/kettari/telegram-bundle)[ Packagist](https://packagist.org/packages/kettari/telegram-bundle)[ RSS](/packages/kettari-telegram-bundle/feed)WikiDiscussions master Synced today

READMEChangelog (1)Dependencies (3)Versions (41)Used By (0)

Telegram Bundle
===============

[](#telegram-bundle)

Known issues
------------

[](#known-issues)

No known issues.

Configuration
-------------

[](#configuration)

- `telegram.secret` -- arbitrary key that is not known to the public. This key is used in the `telegram.url` parameter when setting webhook. The idea is the resulting URL is known only to you and Telegram server so you can trust updates you receive at your endpoint. Good idea is to make it quite long (\[0-9a-z\]{32} for example).
- `telegram.token` -- Telegram bot API key you got from the BotFather.
- `telegram.certificate_file` -- open part of the certificate to send to Telegram server when registering webhook. This might be a self-signed certificate, see [Telegram documentation](https://core.telegram.org/bots/self-signed).
- `telegram.url` -- a URL of this bot with a `{secret}` substring in it. For example: `https://www.your-domain.com/api/v1/{secret}/webhook`
- `telegram.self_user_id` -- Telegram „user ID“ of the bot. It is required to distinguish the bot itself on chat join/left events.

Events
------

[](#events)

### Handle update cycle

[](#handle-update-cycle)

- `telegram.update.incoming` -- method handleUpdate() is called. Event MUST return an Update object or throw an exception.
    - 0:FilterSubscriber -- scraps inbound data.
- `telegram.update.received` -- when the Update object is ready.
    - 90000:AuditSubscriber -- writes the incoming log.
    - 80000:CurrentUserSubscriber -- finds current user using UserHq class.
    - 70000:HookerSubscriber -- finds and executes hooks.
- \[TBD\] `telegram.hook.before` -- before hook is executed.
- \[TBD\] `telegram.hook.after` -- after hook is executed.
- `telegram.message.received` -- when Message is found within the incoming Update.
    - 90000:IdentityWatchdogSubscriber -- updates User and Chat tables for the current user; adds default roles and permissions when user send his/her first message to the bot.
    - 0:MessageSubscriber -- if text is not empty, dispatch further events.
    - –90000:MessageSubscriber -- checks if request was handled. If not, sends to the user a message.
- `telegram.text.received` -- when text is not empty within Message object.
    - 90000:ChatMemberSubscriber -- updates ChatMember table.
    - 80000:TextSubscriber -- checks for command and dispatches further events.
- `telegram.command.received` -- when a command is detected in the text.
    - 0:CommandSubscriber -- CommandBus service which executes command.
- `telegram.command.unknown` -- command is unknown for CommandBus.
    - 0:CommandSubscriber -- tells the user that command is unknown.
- `telegram.command.unauthorized` -- user has insufficient permissions.
    - 0:CommandSubscriber -- tells the user he or she is not authorized to execute the command.
- `telegram.command.executed` -- after the command is executed.
- `telegram.user.registered` -- when /register command executed and user finished registration.
- `telegram.chatmember.joined` -- new chat member in the group.
    - 0:ChatMemberSubscriber -- handles new chat member.
- `telegram.chatmembers.joined` -- one or more new chat members in the group.
- `telegram.chatmember.bot_joined` -- the bot itself joined the group.
- `telegram.chatmember.left` -- chat member left the group.
    - 0:ChatMemberSubscriber -- handles left chat member.
- `telegram.chatmember.bot_left` -- the bot itself left the group.
- `telegram.group.created` -- new group created.
    - 0:GroupsSubscriber -- handles new group creation.
- `telegram.chat.migrated_to` -- migrated to chat ID.
    - 0:MigrationSubscriber -- handles group migration.
- `telegram.chat.migrated_from` -- migrated from chat ID.
    - 0:MigrationSubscriber -- handles group migration.
- \[TBD\] `telegram.response` -- when the bot prepared a response to the Webhook and is ready to send it.
- `telegram.request.sent` -- request to the Telegram API was sent.
    - –90000:AuditSubscriber -- writes outbound log.
- `telegram.request.blocked` -- when the bot is blocked by the user or kicked out of the group.
- `telegram.request.throttled` -- flood control thrown an exception.
- `telegram.request.exception` -- exception occurred while making request to the Telegram API.
- `telegram.terminate` -- run any expensive operations when cycle is about to finish.

###  Health Score

26

—

LowBetter than 41% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity70

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~10 days

Recently: every ~3 days

Total

37

Last Release

3016d ago

Major Versions

1.3.2 → 2.0-alpha.12018-03-13

PHP version history (2 changes)1.0.0-alpha2PHP &gt;=5.6.0

2.0-alpha.1PHP &gt;=7.0.0

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/542536?v=4)[Andy](/maintainers/kettari)[@kettari](https://github.com/kettari)

---

Top Contributors

[![kettari](https://avatars.githubusercontent.com/u/542536?v=4)](https://github.com/kettari "kettari (113 commits)")

### Embed Badge

![Health badge](/badges/kettari-telegram-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/kettari-telegram-bundle/health.svg)](https://phpackages.com/packages/kettari-telegram-bundle)
```

###  Alternatives

[neuron-core/neuron-ai

The PHP Agentic Framework.

2.0k496.1k33](/packages/neuron-core-neuron-ai)[tencentcloud/tencentcloud-sdk-php

TencentCloudApi php sdk

3661.2M46](/packages/tencentcloud-tencentcloud-sdk-php)[civicrm/civicrm-core

Open source constituent relationship management for non-profits, NGOs and advocacy organizations.

751284.3k37](/packages/civicrm-civicrm-core)[roundcube/roundcubemail

The Roundcube Webmail suite

7.0k1.4k3](/packages/roundcube-roundcubemail)[spatie/laravel-export

Create a static site bundle from a Laravel app

672139.5k6](/packages/spatie-laravel-export)[nfse-nacional/nfse-php

This is my package nfse

1523.1k](/packages/nfse-nacional-nfse-php)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
