php-telegram-bot / workspace
开发和测试的工作空间
Requires
- longman/telegram-bot: @dev
- php-telegram-bot/fluent-keyboard: @dev
- vlucas/phpdotenv: ^5.4
Requires (Dev)
- pestphp/pest: ^1.21
This package is auto-updated.
Last update: 2024-08-25 02:15:29 UTC
README
关于此存储库
此存储库是 php-telegram-bot 开发的模板。
(返回顶部)
入门
克隆存储库
git clone --recurse-submodules https://github.com/php-telegram-bot/workspace.git
克隆工作空间后,您可以将工作空间用作项目。我们提供了一些脚本和 docker-compose.yml 文件,用于配置 web 服务器和本地 Telegram Bot API 服务器,以便使用和测试 webhooks。
在 php-telegram-bot 上工作
要在 php-telegram-bot 存储库本身上进行工作,您需要进入 packages/php-telegram-bot
目录并检出分支:
git checkout develop
要从上游拉取所有当前更改,您可以从任何位置调用:
git submodule update --remote --merge
如果您想将更改提交到上游,您可以在任何地方简单地这样做。
(返回顶部)
使用 Docker
默认情况下,Docker 设置启动了以下容器:
- nginx Web服务器
- 用于接受来自自定义 bot api 服务器的 webhook 调用
- php-fpm PHP 8.1
- 运行所有代码
- mariadb 数据库
- 已经导入了结构
- tdlight 自定义 Bot API 服务器
- 自定义 Telegram bot API 服务器的一个轻量版本。
要启动容器,请将 .env.example
复制到 .env
文件中,并填写从 https://my.telegram.org/apps 获取的 TELEGRAM_API_ID
和 TELEGRAM_API_HASH
数据。
在此之后,您可以使用以下命令启动容器:
docker-compose up -d
(返回顶部)
使用机器人
默认情况下,有一个 /start 命令。
因此,如果您也在您的 .env
文件中填写了 TELEGRAM_BOT_USERNAME
和 TELEGRAM_BOT_TOKEN
,您可以在 php Docker 容器内部执行 setWebhook.php
。
如果成功,您应该能够向您的机器人发送一个 /start
。
(返回顶部)
手动调用 web 服务器
如果您需要直接调用 web 服务器或查看 Bot API 服务器状态的统计信息,您可以创建一个 docker-compose.override.yml
文件,并添加所需的端口转发,例如以下示例:
version: '3' services: nginx: ports: - 8080:80 api-server: environment: TELEGRAM_STAT: yes ports: - 8082:8082
services
中的第一个块扩展了 nginx 服务,并将从您的宿主机上的 8080 端口到容器内的 80 端口添加了端口转发。然后,您可以使用 http://localhost:8080
调用任何 php 脚本或静态文件。
services
中的第二个块扩展了 api-server 服务,通过环境变量启用了统计信息,并将容器中的 8082 端口转发到您的宿主机。这允许您通过 http://localhost:8082
调用 Telegram Bot API 服务器状态的统计页面,并检查例如 webhook 是否已正确注册。