SEO Сообщество: Спрашивайте и помогайте

Присоединяйтесь к сообществу профессиональных веб-мастеров PR-CY, отвечайте на вопросы коллег и задавайте свои.

Q&A SEO

Как убрать эфект нажатой кнопки в телеграмм боте на php

mrak7575 mrak7575  
326
  05.06.2023 16:12       1 146    

народ пишу телеграммбота на php, почти написал

но в ходе теста на андроид устройствах

увидел эфект мигающих кнопок

вот   видео на ютубе  ссылка кликабельная

на ПК такого эфекта нет , точнее он есть но отображается в виде маленьких часиков(которые на кнопке появляются и через время перестают показываться)

на айфоне в виде вверху маленькой строчки с надписью "загрузка"

НО заметил глюк , что иногда нажать на кнопку ,

бот присылает сообщение , и заблокировать телефон не дожидаясь пока пропадет этот эфект нажатия кнопки

но иногда он дублирует по несколько раз сообщение ,

              

Ответы на пост (6) Написать ответ
mrak7575 mrak7575
326
05.06.2023 16:14
вот примерный код который формирует и обрабатывает (точнее это часть кода) просто как исправить эфеект нажатия кнопки не пойму 

$message_text = $update['message']['text'];
if ($message_text == '/start') {
// Отправляем сообщение с кнопками
$keyboard = array(
array(
array(
'text' => 'FAQ',
'url' => 'https://telegra.ph/Rukovodstvo/'
),
array(
'text' => 'Написать админу',
'callback_data' => 'write'
)
),
array(
array(
'text' => 'Создать',
'callback_data' => 'new'
),

array(
'text' => 'Стоимость',
'callback_data' => 'money'
)
),
array(
array(
'text' => 'Статус',
'callback_data' => 'status'
),
array(
'text' => 'Реквизиты',
'callback_data' => 'rekviziti'
)
)
);
$reply_markup = array(
'inline_keyboard' => $keyboard
);
sendMessage($chat_id, "Воспользуйтесь меню ниже", $token, $reply_markup);
}






switch ($data) {

case 'money':
$select_query = mysqli_query($conn, "SELECT `zakazi` FROM `tertu`.`datar` WHERE `id` = 1");
$row = mysqli_fetch_assoc($select_query);
$zakazi_w = $row['zakazi'];
sendMessage($chat_id, "Стоимость $zakazi_w руб", $token, $reply_markup);

mysqli_close($conn);
die("Ошибка: скрипт остановлен");
break;


// Закрываем соединение с базой
mysqli_close($conn);

function sendMessage($chat_id, $message, $token, $reply_markup = null) {
$url = "https://api.telegram.org/bot$token/sendMessage";
$data = array('chat_id' => $chat_id, 'text' => $message);
if ($reply_markup) {
$data['reply_markup'] = json_encode($reply_markup);
}
$options = array(
'http' => array(
'header' => "Content-type: application/x-www-form-urlencoded\r\n",
'method' => 'POST',
'content' => http_build_query($data),
),
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
return $result;
}
0
scrummy scrummy
15
05.06.2023 16:41
а на каких версиях устройства лагает, вы проверяли? они ж апдейт выкатили вот
0
mrak7575 mrak7575
326
05.06.2023 16:47
айфон 12 , хонор 8 лайт/ телега обновляется как только приходят обновления
0
vvvlad77 vvvlad77
79
07.06.2023 07:52
Странно что ты еще сам не разобрался))
0
mrak7575 mrak7575
326
07.06.2023 10:52
да топчусь на 1 месте / уже Chat GPT столько идей подкидывал , но я задаю ему , как избавиться от эффекта нажатия кнопок , возможно это как то по другому называется 
0
mrak7575 mrak7575
326
09.06.2023 14:20
короче долго ковырял , думал может это из за выбранного языка на котором написан бот (php), но пересмотрев и другие ролики , правда за 2022 и 2021 , понял что и у других блогеров такой же эффект , НО они не уделяют этому внимание/ но когда у тебя андроид и 6 кнопок , то это напрягает .... в общем я решил  , точнее  уменьшил проблему , методом после нажатия удаляется старая клава , и выводится доп сообщение , типо  для меню нажмите /start (у меня на эту команду прописана клава)
0