南锋

南奔万里空,脱死锋镝余

telegramBot之取消按钮的监听

最近发现我们用telegram bot打开一个web App的时候,容易误点到屏幕左上角的取消按钮,希望这个时候能够弹出一个2次确认弹窗。

想法与踩坑

刚开我以为是在bot机器人代码中实现这个功能,如果各种网上找,不断的问chatGPT,但是chatGPT给出的一些代码都没有解决这个问题。最后还是在TON心粉群聊里一个大佬指出在开发文档的SDK中有说明。如是自己跑去看了下SDK的源代码,发现确实有。
SDK源代码链接SDK源代码链接
感悟: 还是要多看看开发文档和API

实现

看了之后发现这个并不是在bot机器人中设定的,而是在你的h5代码中设定,之前就完全走错了方向。
比较简单,设置isClosingConfirmationEnabled参数值为true即可。

步骤:
1、在你html代码的<head>中加入tg的引用<script src="https://telegram.org/js/telegram-web-app.js"></script>
2、这时你在<script>中就可以使用window.Telegram.WebApp了,在<script>中添加下面代码:

1
2
const tg = window.Telegram.WebApp;
tg.isClosingConfirmationEnabled = true;

这样就ok啦,打开机器人,加载webapp,点击取消按钮,这个时候就可以看到屏幕底部弹出了一个2次弹窗,如下图:
`示例图

+