A PHP Laravel Telegram Bot
I recommend using systemd to manage laravel queue workers, and systemd-timer to manage laravel schedules.
This is a doc of supervisor + crontab version that laravel recommended.
You can do anything you want.
dnf update --refresh -y
dnf install supervisor podman* cockpit* --refresh -y
systemctl enable --now supervisord.service
systemctl enable --now nginx.service
systemctl enable --now php-fpm.service
systemctl enable --now container-mariadb.service
systemctl enable --now container-redis.service
composer install
chown -R www:www .
chmod -R 755 .
chmod -R 777 bootstrap/cache/
chmod -R 777 storage/
touch .user.ini
vim .user.ini
chown www:www .user.ini
chmod 644 .user.ini
chattr +i .user.ini
php artisan key:generate
vim .env
vim supervisor/TelegramBot-Queue-default.ini
vim supervisor/TelegramBot-Queue-TelegramLimitedApiRequest.ini
chmod +X supervisor/init.sh
chmod +X supervisor/restart.sh
supervisor/init.sh
supervisor/restart.sh
php artisan migrate
php artisan command:GetWebhookInfo
php artisan command:SetWebhook
php artisan command:DeleteWebhook
If you edited anything, you may need to restart queue workers, to make sure they are using the new configuration, or the new codes to be run.
Otherwise, they may update to the latest configurations and codes after 3600 seconds at most.
So you can send the signal to restart queue workers, via the laravel official command:
php artisan queue:restart
Or force restart with supervisor(not recommended):
supervisor/restart.sh
Or you can let bot call the laravel official command:
Send a message to the bot with the command
/restart