inline button handling problem on telegram bot using php

<?php
define('TOKEN' , 'token');
define('Ch1' , 'tg channel url');
define('Ch2' , 'tg channel url');
define('CID1' , 'channel id');
define('CID2' , 'channel id');

function bot($method , $datas=[]){
    $url = "https://api.telegram.org/bot".TOKEN."/".$method;
    $ch = curl_init();
    curl_setopt($ch,CURLOPT_URL,$url);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
    curl_setopt($ch,CURLOPT_POSTFIELDS,$datas);
    $res = curl_exec($ch);
    if(curl_error($ch)){
        var_dump(curl_error($ch));
    }
    else{
        return json_decode($res);
    }
}
$update = json_decode(file_get_contents("php://input"));

$message = $update->message;

$chat_id = $message->chat->id;
$from_id = $message->from->id;
$text = $message->text;

$cq = $update->callback_query ;
$call_id =$cq->message->chat->id ;
$data = $cq->data;

$chooseLang = [
    "inline_keyboard" =>[
        [
            ["text" => "??    O'zbek tili" , "callback_data" => "uz"],
            ["text" => "??    Русский язык" , "callback_data" => "ru"]
        ]
    ]
];

$joinUz = [
    "inline_keyboard" => [
        [
            ["text" => "➕    Birinchi kanal" , "url" => URL1],
            ["text" => "➕    Ikkinchi kanal" , "url" => URL2],
            ["text" => "✅    Tekshirish" , "callback_data" => "checkJoinUz"]
        ]
    ]
];

$joinRu = [
    "inline_keyboard" => [
        [
            ["text" => "➕    Первый канал" , "url" => URL1],
            ["text" => "➕    Второй канал" , "url" => URL2],
            ["text" => "✅    Проверка" , "callback_data" => "checkJoinRu"]
        ]
    ]
];

$genUz = [
    "inline_keyboard" =>[
        [
            ["text" => "Erkak" , "callback_data" => "maleUz"],
            ["text" => "Ayol" , "callback_data" =>"femaleUz"]
        ]
    ]
];

$genRu = [
    "inline_keyboard" =>[
        [
            ["text" => "Мужчина" , "callback_data" => "maleRu"],
            ["text" => "Женщина" , "callback_data" =>"femaleRu"]
        ]
    ]
];

$check1 = bot('getChatMember' ,[
    'chat_id' => CID1 ,
    'user_id' => $from_id,
]);

$check2 = bot('getChatMember' ,[
    'chat_id' => CID2 ,
    'user_id' => $from_id,
]);

$check1 = $check1 -> result -> status;
$check2 = $check2 -> result -> status;

$check1 = (($check1 == 'member') or ($check1 == 'creator') or ($check1 == 'administrator'));
$check2 = (($check2 == 'member') or ($check2 == 'creator') or ($check2 == 'administrator'));

$isJoin =($check1 and $check2) ;

if($text == '/start'){
    bot('sendMessage' , [
        'chat_id' => $chat_id,
        'text' => '*Assalomu alaykum ! Tilni tanlang . Здраствуйте ! Выберите язык .*'.$data,
        'reply_markup' => json_encode($chooseLang),
        'parse_mode' => 'markdown',
    ]);
}

if($text == '/taqvim'){
    bot('sendPhoto' , [
        'chat_id' => $chat_id ,
        'photo' => 'url/folder/photo.jpg',
        'caption' => "Muborak Ramazon oyidagi ro'za taqvimi . Календарь поста для священного месяца Рамадан.",
    ]);
}

switch($data){
    case "uz" :
        bot('sendMessage' , [
            'chat_id' => $call_id, 
            'text' => 'Botning imkoniyatlaridan to\'liq foydalanish uchun quyidagi kanallarga obuna bo\'lishingiz kerak' ,
            'reply_markup' => json_encode($joinUz),
        ]);
        break;

}

У меня есть такой код. Но часть внутри корпуса переключателя не работает. Код не обрабатывает нажатие кнопки. Пожалуйста, помогите.


Ответы (0 шт):