deepeloper / tunneled-webhooks
隧道化Webhook
1.1.0
2024-06-28 14:46 UTC
Requires
- php: >=8.2
- ext-json: *
- irazasyed/telegram-bot-sdk: ^3.13
- jfcherng/php-color-output: *
Requires (Dev)
README
通过一条命令 /path/to/php bin/run.php /path/to/config.php
运行隧道服务并为没有白名单IP的工作站注册临时Webhook。
您可以添加自己的隧道服务,注册和处理自己的Webhook。
兼容性
安装
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