我在电报机器人中使用玻璃按钮回调查询时遇到问题。即用户可以点击多次并且程序失败,因为我的程序是一步一步运行的,当点击另一个时间程序进入下一步时。 即使我删除了回拨消息,用户也可以点击多次 你能帮我解决一下吗? 我怎么能禁用它?
<?php
else if(isset($arrayMessage['callback_query'])){
.
.
do some thing
.
.
.
}
?>
&#13;
答案 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>
希望这有帮助! :)