smart-gamma / symfony-errors-telegram-bot
The Telegram bot allows to send notifications about Symfony critical errors to the configured project's chat
Installs: 10 777
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 5
Forks: 1
Open Issues: 6
Type:symfony-bundle
Requires
- php: >=5.6
- simonbackx/slack-php-webhook: ^1.0
- symfony/console: ^2.3|^3.0|^4.0
- symfony/swiftmailer-bundle: ^2.3|^3.0|^4.0
- symfony/twig-bundle: ^2.3|^3.0|^4.0
- telegram-bot/api: ^2.3
- dev-master
- v1.0.9
- v1.0.8
- v1.0.7
- v1.0.6
- v1.0.5
- v1.0.4
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0.0
- dev-dependabot/composer/twig/twig-2.15.3
- dev-dependabot/composer/symfony/http-kernel-3.4.49
- dev-dependabot/composer/symfony/mime-4.4.7
- dev-dependabot/composer/symfony/http-foundation-4.4.7
- dev-fix-process-request-error
- dev-dependabot/composer/symfony/var-exporter-4.4.4
- dev-dependabot/composer/symfony/cache-4.3.9
- dev-slack
This package is not auto-updated.
Last update: 2025-01-07 11:51:32 UTC
README
The Telegram bot allow to send notifications about Symfony critical errors to the configured project chat
1. Install
composer require smart-gamma/symfony-errors-telegram-bot
2. Configuration
2.1. Activate the bundle
Symfony version < 4.0
Add to AppKernel.php
new Gamma\ErrorsBundle\GammaErrorsBundle(),
Symfony with dotenv
add to app/config/service.yaml
parameters:
gamma.base_host: '%env(BASE_URI)%'
Define "BASE_URI" at .env or replace it with your env variable that defines base uri of your project.
Symfony without dotenv
add to parameter.yml
gamma.base_host: 'put your base uri here'
2.2. Add configuration
Put the file gamma_errors_bot.yaml to vendor/packages folder at app/config
gamma_errors:
enabled: true
telegram_channel:
auth_key: '%env(GAMMA_ERRORS_TELEGRAM_AUTH_KEY)%'
chat_id: '%env(GAMMA_ERRORS_TELEGRAM_CHAT_ID)%'
3. Creating a bot
Start a conversation with @BotFather.
You: /newbot
>>>>>>>>>>
@BotFather: Alright, a new bot. How are we going to call it? Please choose a name for your bot.
<<<<<<<<<<
You: Sample Error Bot
>>>>>>>>>>
@BotFather: Good. Now let's choose a username for your bot. It must end in `bot`. Like this, for example:
TetrisBot or tetris_bot.
<<<<<<<<<<
Me: test_error_bot
>>>>>>>>>>
@BotFather: Done! Congratulations on your new bot. You will find it at telegram.me/cronus_bot. You can now add a
description, about section and profile picture for your bot, see /help for a list of commands. By the way, when
you've finished creating your cool bot, ping our Bot Support if you want a better username for it. Just make sure
the bot is fully operational before you do this.
Use this token to access the HTTP API:
111111:xxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
For a description of the Bot API, see this page: https://core.telegram.org/bots/api
4. Get chat identifier
After the created bot was added to your project's group you should retrieve its chat_id
Make POST request to URL: https://api.telegram.org/bot_token_/getUpdates
Example:
Request
curl -X POST https://api.telegram.org/bot111111:xxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxx/getUpdates
Response
{
"ok": true,
"result": [
{
"update_id": 222222,
"message": {
"message_id": 3333,
"from": {
"id": 444444,
"first_name": "Test",
"last_name": "Test",
"username": "test"
},
"chat": {
"id": -111111
"first_name": "Test",
"last_name": "Test",
"username": "test",
"type": "private"
},
"date": 1480701504,
"text": "test"
}
}
]
}
chat_id is the number "-111111".
- Slack support
In order to have additional channel of notification you can enable Slack with webhook integration
-
add "Incoming WebHooks" app to your Slack and copy webhook url from the settings
-
configure
gamma_errors:
enabled: true
telegram_channel:
....
slack_channel:
webhook: '%env(GAMMA_ERRORS_SLACK_WEBHOOK)%'
channel: '%env(GAMMA_ERRORS_SLACK_CHANNEL)%'