PHP telegram电报机器人 消息回声机器人

 2024-12-14  阅读 319  评论 5  点赞 149

摘要:1、申请bot,获取token,设置webhook:
https://api.telegram.org/bot/setwebhook?url=https://www.youdocument.com/bot/bot.php

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"}

微信截图_20240522115115.jpg

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服务器上,演示效果如下

标签:telegramphp

评论列表:

  •   weihang233
     发布于 5天前回复该评论
  • 写的很不错,学到了!
  •   echo111
     发布于 4天前回复该评论
  • 写的很不错,学到了!
显示更多评论

发表评论:

Copyright © 2024 LS'Blog-保定PHP程序员老宋个人博客 Inc. 保留所有权利。 Powered by LS'blog 3.0.3

页面耗时0.0244秒, 内存占用1.91 MB, 访问数据库27次

冀ICP备19034377号