我正在尝试使用电报漫游器,通过将有效负载传递到/ start命令,从那里我可以跟踪它,并知道谁一直在将人们引向该漫游器,从而根据引荐数量获取分配给主要用户的积分< / p>
我尝试遵循文档编制过程,并且能够设置命令,但是我看不到获取有效载荷的方法
ini_set('error_reporting', E_ALL);
$token="870645666:AAHrjEF006uje1SpG0dFJRFnmfNIZHbGxdM";
$website ="https://api.telegram.org/bot".$token;
$update =file_get_contents("php://input");
$update =json_decode($update, TRUE);
$chatid =$update["message"]["chat"]["id"];
$message =$update["message"]["text"];
$refid=$update["message"]["text"]["payload"];
$ref=mysqli_fetch_assoc(mysqli_query($connect, "SELECT * FROM
bot where refid='$refid'"));
sendMessage($chatid, "You were referred by".$ref['name'];
function sendMessage($chatid, $message){
$url =$website."/sendMessage?
chat_id=".$chatid."&text=".urldecode($message);
file_get_contents($url);
}
当我尝试访问有效负载时,没有任何输出 我已经尝试过Google,但是我找不到使用php提取有效负载的方法。任何帮助将不胜感激
答案 0 :(得分:0)
https://core.telegram.org/bots#deep-linking
您可以通过以“ / start”开头的普通短信接收有效载荷
$text = '/start PAYLOAD';
if(stripos($text, '/start ') === 0)
{
$payload = str_replace('/start ', '', $text);
}
答案 1 :(得分:0)
电报将消息内容中的有效载荷发送到您的机器人
$message =$update["message"]["text"];
// extract payload from message text
$refid=substr($message, strlen('/start'));
// check is it really first message to start the bot
if($update["message"]["message_id"] != 1 || stripos($message, "/start ") != 0){
// $refid = "";
}