【问题标题】:Telegram Bot - PHP Webhook POST to fileTelegram Bot - PHP Webhook POST 到文件
【发布时间】:2015-09-24 21:48:04
【问题描述】:

我已经阅读了一些关于 bot API 的问题,但找不到解决方案。

我的机器人工作正常,无需设置 webhook 和处理 /getUpdates。但我无法将“https://www.domain.com/page.php”设置为 webhook。

我在 Cloudflare 的灵活 SSL 证书后面有一个共享主机,浏览器没有警告它,所以我认为它工作正常。

我正在尝试将 Telegram 的 POST 放到一个文件中,以了解 webhook 是否需要不同的解析,但它是空的并且看不到 ssl_acces.log,所以我什至看不到 Telegram 是否到达该页面。 ..

这里是sn-p:

$message = json_decode(file_get_contents('php://input'), true);
file_put_contents('telegram.txt', var_dump($message));

我做错了什么?谢谢。

[解决方案]

登录方式为:

$debug = file_get_contents('php://input');
$fp = fopen('debug.txt', 'w');
fwrite($fp, $debug);
fclose($fp);

而解决办法是webhook必须设置不带www: /setwebhook?url=https://domain.com/page.php

【问题讨论】:

  • 也试过了:$debug = file_get_contents('php://input'); $fp = fopen('debug.txt', 'w'); fwrite($fp, $debug); fclose($fp);
  • $message = json_decode($_POST, true); file_put_contents('telegram.txt', $message); 你为什么不试试呢? Telegram webhook 似乎正在发出 POST 请求。
  • 完成@Ugur。谢谢,但是,没有运气。我正在向我的机器人发送消息,但没有显示 txt 文件......我认为 Telegram 没有到达页面,但我不知道如何测试它。如果我尝试 /getUpdates 只说它是活动的:{"ok":false,"error_code":409,"description":"Error: Conflict: another webhook is active"}
  • 您可以尝试自己访问该页面,看看它是否正在生成输出。此外,正如错误消息所述,网络挂钩根本没有到达您的页面。
  • @Ugur,你试过了吗?阅读 de API 我认为消息是说设置了 webhook。如果没有,/getUpdates 将显示一个 json。也许我错了……

标签: php webhooks telegram-bot


【解决方案1】:

我有一个类似的问题,并修复它删除一行

 (RewriteCond %{HTTP_USER_AGENT} ^$ [OR]) 

来自.htaccess 文件

【讨论】:

  • 感谢否定:掌声:
猜你喜欢
  • 2016-07-15
  • 1970-01-01
  • 2015-09-12
  • 2017-08-03
  • 2018-03-12
  • 2016-08-27
  • 2017-01-11
  • 2017-07-22
  • 2016-04-10
相关资源
最近更新 更多