单击电报机器人

时间:2017-12-17 22:46:34

标签: php bots telegram

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



<?php

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

}



?>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:-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>

希望这有帮助! :)