Php 电报机器人-发送消息文本

Php 电报机器人-发送消息文本,php,telegram,telegram-bot,Php,Telegram,Telegram Bot,我用PHP编程电报机器人有两个问题 问题: 请注意,当我尝试使用电报API发送多行文字时。根据该守则: 文本中的特殊字符是由urlencode()调用引起的 由于您以POSTFIELD的形式传递数据,无需使用urlencode() 另外,在$mess=$mess后面还有一些语法错误,比如额外的。“这是新的路线” 更新脚本: 文本中的特殊字符是由urlencode()调用引起的 由于您以POSTFIELD的形式传递数据,无需使用urlencode() 另外,在$mess=$mess后面还有一些语法

我用PHP编程电报机器人有两个问题

  • 问题: 请注意,当我尝试使用电报API发送多行文字时。根据该守则:

  • 文本中的特殊字符是由
    urlencode()
    调用引起的

    由于您以POSTFIELD的形式传递数据,无需使用
    urlencode()

    另外,在
    $mess=$mess后面还有一些语法错误,比如额外的
    。“这是新的路线”

    更新脚本:


    文本中的特殊字符是由
    urlencode()
    调用引起的

    由于您以POSTFIELD的形式传递数据,无需使用
    urlencode()

    另外,在
    $mess=$mess后面还有一些语法错误,比如额外的
    。“这是新的路线”

    更新脚本:

    考虑使用库。这段代码做同样的事情,但代码更少,更清晰

    考虑使用库。这段代码做同样的事情,但代码更少,更清晰


    啊秀,我没意识到。当我把代码粘贴到这里时,这个点错在那里了。多谢各位much@PřemekTomášDoležal很高兴你把它解决了!如果有人考虑或回答。这向更广泛的社区表明,你已经找到了一个解决方案,并且给了回答者和你自己一些声誉。啊,苏,我没有意识到。当我把代码粘贴到这里时,这个点错在那里了。多谢各位much@PřemekTomášDoležal很高兴你把它解决了!如果有人考虑或回答。这向更广泛的社区表明,你已经找到了一个解决方案,并给回答者和你自己带来了一些声誉。
    <?php
    $update = file_get_contents('php://input');
    $update = json_decode($update, true);
    $chatId= $update["message"]["from"]["id"]?$update["message"]["from"]["id"]:null;
    $mess= "here is my text.";
    $mess = $mess. "\n";
    $mess = $mess. " this is new line".;
    send($mess, $chatId);
    
    function send($text,$chat){
       if(strpos($text, "\n")){
            $text = urlencode($text);
        }
    
        $parameters = array(
            "chat_id" => $chat,
            "text" => $text,
            "parse_mode" => "Markdown"
        );
    
        api("sendMessage?", $parameters)
    }
    
    function api($method,$command){
    $token = "******";
    $api = "https://api.telegram.org/bot$token/$method";
    
        if(!$curld = curl_init()){
           echo $curld; 
        }
        curl_setopt($curld, CURLOPT_VERBOSE, true);
        curl_setopt($curld, CURLOPT_POST, true);
        curl_setopt($curld, CURLOPT_POSTFIELDS, $command);
        curl_setopt($curld, CURLOPT_URL, $api);
        curl_setopt($curld, CURLOPT_RETURNTRANSFER, TRUE);
        curl_setopt($curld, CURLOPT_TIMEOUT, 30);
        curl_setopt($curld, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($curld, CURLOPT_SSL_VERIFYHOST, FALSE);
        $apiRequest = curl_exec($curld);
        curl_close($curld);
        return $apiRequest;
    }