phptelegram-botelixir-jason

get array content from json (telegram api) in php


I have this json code

"result": [
{
"update_id": 74783732,
"message": {
"message_id": 852,
"from": {
"id": ---,
"is_bot": false,
"first_name": "---",
"username": "---",
"language_code": "en"
},
"chat": {
"id": ---,
"first_name": "---",
"username": "---",
"type": "private"
},
"date": 1646306224,
"text": "@username",
"entities": [
{
"offset": 0,
"length": 16,
"type": "mention"
}
]
}
}
]

I can get content from update_id , message, first_name etc. but I want to get "mention" from type how can i do it? my code is here i decode json and get arrays from json and put them in variable and use it in my queries but I cant get mention from entities...

$update = file_get_contents("php://input");
$update_array = json_decode($update, true);

if( isset($update_array["message"]) )
{
    $text    = $update_array["message"]["text"];
    $chat_id = $update_array["message"]["chat"]["id"];
}
if(isset($update_array["message"]["entities"]["type"]) and $update_array=="mention")
{
    $get_username = $text;
    show_users_by_username($get_username);

}

tnx for helping


Solution

  • $update_array will never be equal to "mention" but $update_array["message"]["entities"]["type"] yes.

    Change your condition.