itorgov/laravel-forge-bot

This package is not installable via Composer 1.x, please make sure you upgrade to Composer 2+. Read more about our Composer 1.x deprecation policy.

Laravel Forge chat bot for Telegram messenger.

v2.2.0 2020-04-26 19:43 UTC

README

StyleCI Build Status Latest Stable Version License

Laravel Forge Telegram Bot

@LaravelForgeBot is unofficial Laravel Forge chat bot for Telegram messenger.

Motivation

Several years ago I have started to use Laravel Forge for deploying my and my clients' projects. I found that Laravel Forge couldn't send deployment notifications to Telegram messager but for me, Telegram is the number one messenger. That time I just wrote a simple bot with hardcoded chat id and webhook URL.

During my work, I realized that I need a more flexible solution and I designed and implemented the first version of this bot. The first version could only send deployment notifications. It just generated a webhook URL for you and then you had to add that URL manually to your Laravel Forge's site.

After release, I have started to work with a new client. This client has had a project where I haven't could to enable "Quick deploy". Because of that I had to go to the Laravel Forge website and hit the button "Deploy Now" whenever I needed to update the production. So I decided to improve my bot and built the second version.

Features

@LaravelForgeBot helps you manage your servers in such operations as:

  • Reboot a server.
  • Reboot MySQL.
  • Reboot PostgreSQL.
  • Reboot PHP.
  • Reboot NGINX.

It also has a feature to run deploy of your site right from Telegram. It's really helpful when you don't want to enable the "Quick deploy" feature for your site.

Another awesome feature is sending deployment notifications from Laravel Forge to you or any other chat. Using this ability only one member of your team will manage servers in his private chat with the bot, but all members will receive deployment notifications in your team chat.

Screenshots

Server screen Site screen Notification and deployment log example

How to use?

List of available commands:

  • /addtoken
  • /deletetoken
  • /menu
  • /showchatid

You always can get an actual list of commands by using /help command.

/addtoken

Use this command to add your Laravel Forge API token. Note that you can add multiple tokens, so you can manage different Laravel Forge accounts from one place. This command will trigger automaticaly after /start command.

/deletetoken

If you want you can delete added token from the bot by using this command.

/menu

This command creates a new menu for managing servers.

/webhook

If you don't want to provide your API token for managing your Laravel Forge account but want to receive deployment notifications the use this command.

/showchatid

Use this command to get an ID of any chat. It will be helpful when you'll configure receiving deployment notifications to other chat. Please note that if you have more than one bots in your target chat then you have to write bot's username after the command without space (/showchatid@LaravelForgeBot).

Using this bot in groups

Note that this bot has no access to messages in groups. So, when you add a new token you have to send token as an answer to the last bot's message. The same action required when you add a webhook to another chat and have to send a chat id.

Versioning

We use SemVer for versioning. For the versions available, see the releases on this repository.

Authors

See also the list of contributors who participated in this project.

Thanks

I want to say thanks to Eric L. Barnes (the creator of Laravel News) for providing an image that I used as an avatar of this bot.

License

@LaravelForgeBot is licensed under the ISC license.
Copyright © 2020, Ivan Torgov

Donate

If you like this bot and would like to support it, please consider a donation using my PayPal page. Your donation would help me a lot to continue running this bot and covering hosting costs.