php-telegram-bot/workspace

此包的最新版本(dev-main)没有可用的许可信息。

开发和测试的工作空间

dev-main 2022-03-24 20:32 UTC

This package is auto-updated.

Last update: 2024-08-25 02:15:29 UTC


README

目录
  1. 关于此存储库
  2. 入门
  3. 使用 Docker
  4. 使用机器人

关于此存储库

此存储库是 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 设置启动了以下容器:

  1. nginx Web服务器
    • 用于接受来自自定义 bot api 服务器的 webhook 调用
  2. php-fpm PHP 8.1
    • 运行所有代码
  3. mariadb 数据库
    • 已经导入了结构
  4. tdlight 自定义 Bot API 服务器
    • 自定义 Telegram bot API 服务器的一个轻量版本。

要启动容器,请将 .env.example 复制到 .env 文件中,并填写从 https://my.telegram.org/apps 获取的 TELEGRAM_API_IDTELEGRAM_API_HASH 数据。

在此之后,您可以使用以下命令启动容器:

docker-compose up -d

(返回顶部)

使用机器人

默认情况下,有一个 /start 命令。

因此,如果您也在您的 .env 文件中填写了 TELEGRAM_BOT_USERNAMETELEGRAM_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 是否已正确注册。