deepeloper/tunneled-webhooks

隧道化Webhook

1.1.0 2024-06-28 14:46 UTC

This package is auto-updated.

Last update: 2024-09-28 15:23:50 UTC


README

Packagist version PHP from Packagist GitHub license GitHub issues Packagist CI codecov

Donation

通过一条命令 /path/to/php bin/run.php /path/to/config.php 运行隧道服务并为没有白名单IP的工作站注册临时Webhook。

您可以添加自己的隧道服务,注册和处理自己的Webhook。

兼容性

PHP 8.0

安装

composer require deepeloper/tunneled-webhooks

隧道服务

下载ngrok(以及/或其他隧道服务),在服务中注册,获取授权令牌并运行服务一次 /path/to/ngrok authtoken %YOUR_NGROCK_AUTH_TOKEN%

Webhook

注册Telegram机器人并接收机器人授权令牌。

配置本地Web服务器

  • nginx

添加*.ngrok.io子域名

server {
    listen   127.0.0.1:80;
    server_name ~^(.*)\.ngrok\.io;

    ; This application www-directory
    root /path/to/www;
}

然后重启nginx。

  • Apache

根据ngrok文档,在自配置中修改“service/command”值,如 /path/to/ngrok http --host-header=%LOCAL_HOST_NAME% 80

应用程序配置

将“config.skeleton.php”复制到您自己的配置文件中,并将ngrok路径和Telegram令牌放入新文件中

    // ...
    'service' => [
        'class' => "\\deepeloper\\TunneledWebhooks\\Service\Ngrok",
        // CLI command to run service.
        // Modify path here:
        'command' => "/path/to/ngrok http 80",
        // ...
    ],
    
    'webhook' => [
        'Telegram' => [
            'Windbag' => [
                // ...
                // Telegram bot token.
                // Modify token here:
                'token' => "",
                // ...

用法

运行隧道服务和机器人

vendor/bin/tunneled-webhooks /path/to/config.php

隧道服务将被启动,Telegram webhook将被注册,您就可以与Telegram机器人开始对话了。

通过CLI运行机器人

vendor/bin/bot.windbag