首页 > 解决方案 > 如何在 Telegram 机器人中使用 reply_to_message_id?

问题描述

我正在制作一个个人的小型 PHP Telegram Bot。但是有一个问题我想创建一个函数来帮助我通过回复他发送的消息来回复用户。就像当用户在 Bot 中发送消息时,它会将消息转发给我。我想通过回复他发送的消息来回复此用户。我在Telegram Bot API的帮助下尝试过,但没有成功。

这是forwardMessage 有效的功能

//forward msg
function forwardMessage($adminid,$chatId, $message_id){
$url = $GLOBALS["website"]."/forwardMessage 
chat_id=".$adminid."&from_chat_id=".$chatId."&message_id=".$message_id."&parse_mode=HTML";
file_get_contents($url);      
}

我试图在API的帮助下创建一个sendReply函数,但它不起作用

//send reply
function sendReply($userId,$message, $reply_to_message_id){
$url = $GLOBALS["website"]."/sendMessage? 
chat_id=".$userId."&text=".$message."&reply_to_message_id=".$reply_to_message_id."&parse_mode=HTML";
file_get_contents($url);      
}

标签: phpfunctiontelegramtelegram-bot

解决方案


根据你的问题,我猜你想制作一个像 Livegram Bot 这样的系统。这是代码。如果您需要进一步的帮助,请在 Telegram @NinjaNaveen 上私信我 :)

 $admin = "xxxx" //Admin ID
    $from_id = $update->message->from->id; //User ID
    $text = $update->message->text; //Message sent by Admin
    $replytomessage = $update->message->reply_to_message //A Reply to a Message 
    $replytomessageUSERID = $update->message->reply_to_message->from->id; //User ID of the replied to message user
    $replytomessageID = $update->message->reply_to_message->message_id; //Replied to Message ID
    
    
    //////////////
    
    if (isset($replytomessage) && $from_id == $admin){ //If A Reply exists and the ID is Admin ID
    
    sendMessage($replytomessageUSERID, $text, $message_id);
    
    }

推荐阅读