点击一下电报机器人后禁用回叫查询

问题描述 投票:0回答:2

我在电报机器人中使用玻璃按钮回调查询时遇到问题。即用户可以点击多次并且程序失败,因为我的程序是一步一步运行的,当点击另一个时间程序进入下一步。即使我删除回拨消息用户可以点击多次,你能帮我解决吗?我怎么能禁用它?

<?php

else if(isset($arrayMessage['callback_query'])){
.
.
do some thing
.
.
.

}



?>
php bots telegram
2个回答
0
投票

当你收到callback_query时,只需使用editMessageReplyMarkup方法,不要传递或传递空字符串到reply_markup参数


-1
投票

只需设置一个标志,允许用户默认单击,然后制作一个检查此标志的条件。在条件内部,运行预期的单击行为,然后将标志设置为false。

这可以在以下内容中看到:

<?php

$can_click = true;

if ($can_click) {
  // Do stuff
  $can_click = false;
}

但请注意,单击是在客户端完成的,因此为了禁用单击元素,您可能希望使用JavaScript而不是PHP(除非您使用类似AJAX的东西来调用PHP脚本)。

这可以通过制作一个在按钮点击时调用的函数,并检查全局标志来完成,如下所示:

var button = document.getElementById('click');
var can_click = true;

function clicked() {
  if (can_click) {
    console.log('This will only trigger once');
    can_click = false;
  }
}
<button id="click" onclick="clicked()">Click</button>

希望这可以帮助! :)

© www.soinside.com 2019 - 2024. All rights reserved.