viktorprorgger / bot-template
Telegram机器人模板
dev-main
2024-09-30 08:51 UTC
Requires
- php: ^8.2
- ext-apcu: *
- ext-pdo: *
- botasis/runtime: ~0.2
- botasis/telegram-client: ~0.2
- httpsoft/http-message: ^1.0
- monolog/monolog: ^3.2
- php-http/socket-client: ^2.1
- psr/container: ^2.0
- psr/http-factory: ^1.0
- psr/http-message: ^1.0||^2.0
- psr/http-server-handler: ^1.0
- psr/http-server-middleware: ^1.0
- ramsey/uuid: ^4.2
- sentry/sdk: ^3.3
- vishnubob/wait-for-it: dev-master
- yiisoft/aliases: ^3.0
- yiisoft/arrays: ^3.0
- yiisoft/cache: ^3.0
- yiisoft/cache-apcu: dev-master
- yiisoft/config: ^1.1
- yiisoft/data: ^1.0
- yiisoft/data-response: ^2.0
- yiisoft/di: ^1.2
- yiisoft/error-handler: ^3.0
- yiisoft/http: ^1.2
- yiisoft/request-body-parser: ^1.1
- yiisoft/request-model: ^1.0@dev
- yiisoft/router: ^3.0
- yiisoft/router-fastroute: ^3.0
- yiisoft/yii-console: ^2.0
- yiisoft/yii-cycle: 2.0.x-dev
- yiisoft/yii-event: ^2.0
- yiisoft/yii-http: ^1.0
- yiisoft/yii-queue: 3.0.x-dev
- yiisoft/yii-queue-amqp: 3.0.x-dev
- yiisoft/yii-runner-console: ^2.0
- yiisoft/yii-runner-roadrunner: ^2.0
- yiisoft/yii-sentry: ^2.0
Requires (Dev)
- infection/infection: ^0.26
- maglnet/composer-require-checker: ^4.5
- phpunit/phpunit: ^10.0
- psalm/attributes: ^0.1.0
- roave/infection-static-analysis-plugin: ^1.28
- roave/security-advisories: dev-latest
- squizlabs/php_codesniffer: ^3.7
- symfony/var-dumper: ^v6.2
- v.chetkov/php-clean-architecture: ^0.1.0
- vimeo/psalm: ^5.4
This package is auto-updated.
Last update: 2024-09-30 08:51:03 UTC
README
在runtime包1.0版本发布后,我将更新到最新版本。
Telegram机器人模板
这是一个即用型应用程序模板,旨在加速创建新的Telegram机器人。您只需编写应用程序逻辑,其他所有内容都在模板中。
快速开始
先决条件
- 您的Telegram机器人通过@BotFather创建,并且您知道其token
- 已安装并运行最新版本的docker
- 您的计算机上的MySQL端口3306已打开(您可以在.env文件中配置任何其他端口号,这是默认值)
安装
git clone git@github.com:viktorprogger/bot-template.git
- 在项目根目录中创建.env文件,并将您的机器人token设置为键BOT_TOKEN,例如:BOT_TOKEN=12345:abcdef。有关所有可用环境变量的列表,请参阅
.env.example
- 运行
docker compose build php
- 运行
docker compose --profile console-tools run --rm --no-deps php composer i
- 运行
docker compose --profile console-tools run --rm --no-deps php vendor/bin/rr get
- 运行
docker compose --profile main up -d
- 在Telegram中向您的机器人输入
/start
,大约半分钟后您将收到回复(应用程序每30秒请求一次getUpdates)
可用的docker-compose配置文件
此仓库使用docker-compose配置文件机制以仅启动所需的服务
console-tools
- 仅启动php服务,不包含DB,AMQP和其他服务。运行composer
、psalm
和其他控制台工具时很有用。main
- 启动应用程序并运行。它启动php
、db
和amqp
服务。full
- 启动Loki、Grafana和Promtail以方便地读取日志。该应用程序产生大量日志,因此这些服务将有助于了解应用程序内部发生的情况。
要关闭所有服务,无论正在运行的服务组合如何,请运行docker compose down --remove-orphans
组件
DBAL
此应用程序使用yiisoft/yii-cycle作为DBAL。在开发模式下,它将自动同步您的数据库模式与您的代码,请参阅\Cycle\Schema\Generator\SyncTables
类。