革命 / arty
此包已被弃用且不再维护。未建议替代包。
仅Artisan应用
dev-master
2024-03-31 02:22 UTC
Requires
- php: ^8.1
- illuminate/notifications: ^10.0
- illuminate/view: ^10.0
- laravel-notification-channels/discord: ^1.4
- laravel-zero/framework: ^10.0
- revolution/discord-manager: ^4.3
- revolution/laravel-namespaced-helpers: ^2.0
Requires (Dev)
- mockery/mockery: ^1.4
- phpunit/phpunit: ^10.0
This package is auto-updated.
Last update: 2024-03-31 02:22:57 UTC
README
终止(2024-03)
由于在v5的discord-manager中持续运行的bot功能已终止,并且使用Laravel11可以更轻松地构建“仅控制台”的应用程序,因此这里将终止。 https://invokable.net/article/laravel11-console-only
概要
- 主要针对创建仅包含Artisan命令的应用程序,尤其是针对Discord bot。
- Artisan命令可以实现几乎所有功能,因此也可用于其他用途,但直接使用Laravel或Laravel Zero可能更方便。
- Laravel Zero https://laravel-zero.com/
- 使用GitHub Actions、GitLab CI等实现无服务器运行为目标
创建项目
composer create-project --prefer-dist revolution/arty:dev-master discord-bot && cd $_
使用php arty
显示命令列表。
从GitHub模板创建
可能需要手动复制.env文件等。
cp .env.example .env
composer install
Laravel Zero添加的功能
增加通知目的地后,可以轻松应对Discord以外的其他应用。
Discord测试
设置好.env后,使用php arty discord:test
向指定频道投稿,即可成功。
如果仅执行一次命令,则可以使用GitLab CI进行定期执行(最短间隔可能是1小时)。
不使用Laravel的调度功能。
如果下一次命令执行需要传递一些数据,请使用缓存或Storage。
Discord服务
使用php arty discord:serve
启动bot并持续运行。
要创建接收消息并回复的bot,需要在服务器上持续运行。
虽然GitLab CI可能无法实现,但timeout为1小时,因此可以每小时重新执行一次。
在这种情况下,可能需要使用DB或创建更复杂的bot,因此GitLab CI可能不适用。免费计划还有每月的运行时间限制。
命令和通知的创建
与Laravel相同。
php arty make:command TestCommand
php arty make:notification TestNotification
Discord命令创建
创建位置固定为app/Discord
。
php arty make:discord:command NewChannelCommand
php arty make:discord:direct NewDmCommand
修改arty文件名
php arty app:rename artisan
php artisan
用于Docker
docker-compose run arty {command}
docker-compose run --rm arty discord:test
docker-compose run --entrypoint '' --rm arty composer install
docker-compose run --entrypoint '' --rm arty vendor/bin/phpunit
如果首先使用composer create-project创建,则PHP和composer应该可以正常运行。CI可能需要。