PHP telegram电报机器人 消息回声机器人
1、申请bot,获取token,设置webhook:
https://api.telegram.org/bot<token>/setwebhook?url=https://www.youdocument.com/bot/bot.php
复制连接到浏览器中,显示以下json表示设置成功
{"ok":true,"result":true,"description":"Webhook is set"}
2、设置获取信息的监听脚本
<?php function writeLog($log, $file = 'out') { #生产环境写消息队列 $of = fopen("{$file}-" . date("Y-m-d-H") . ".txt", 'a+'); fwrite($of, $log . '<br>--------------end--------------' . date("Y-m-d H:i:s") . "\r\n"); fclose($of); } function sendMessage($chatId, $message) { $url = $GLOBALS[website] . "/sendMessage?chat_id=" . $chatId . "&text=" . urlencode($message); writeLog($url); url_get_contents($url); } function url_get_contents($Url) { if (!function_exists('curl_init')) { die('CURL is not installed!'); } $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $Url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $output = curl_exec($ch); curl_close($ch); return $output; } $botToken = 'token'; $website = "https://api.telegram.org/bot" . $botToken; $request = file_get_contents('php://input'); $request = json_decode($request, true); if (!$request) { // Some Error output (request is not valid JSON) } elseif (!isset($request['update_id']) || !isset($request['message'])) { // Some Error output (request has not message) } else { $chatId = $request["message"]["chat"]["id"]; $message = $request["message"]["text"]; writeLog($message); sendMessage($chatId,$message); } ?>
把文件保存为bot.php服务器上,演示效果如下