【问题标题】:How launch game when user press "start game" button on telegram bot?当用户按下电报机器人上的“开始游戏”按钮时如何启动游戏?
【发布时间】:2016-12-18 09:30:35
【问题描述】:

我用 BotFather 创建游戏并将这个带有“sendGame”功能的游戏发送给用户,但我不明白当用户按下开始按钮时如何启动游戏
来自API
按下此按钮时,您的机器人会收到一个 CallbackQuery,其中包含所请求游戏的 game_short_name。
我的机器人得到了这个 CallbackQuery,但下一步是什么? 我尝试使用我的游戏 url 发送消息(http://192.168.1.10/game.html - 这个游戏我可以在电脑或手机浏览器上启动,工作正常),但这在电报中不起作用......
有人可以帮忙吗?
谢谢!

【问题讨论】:

  • 好的,现在我明白了,需要使用带有 2 个参数的“answerCallbackQuery”函数:“callback_query_id”和“url”。在此功能电报后尝试打开我的游戏,但我看到空白屏幕。我尝试启动的 HTML 游戏 msdn.microsoft.com/en-us/library/gg589521(v=vs.85).aspx
  • 尝试从此jamie.curle.io/html5-hello-world启动html5 hello world页面
  • 需要使用外部地址-https://(external ip:port)game.html,但还是不行,看到白屏...
  • 我的网络服务器或 html5 hello world 页面出现问题,因为当我更改 tbot.xyz/math 上的 url 参数时,电报中的游戏开始正确。仍然尝试了解如何在电报上运行 html5 页面...
  • 几天后我这样做了!我的问题是因为我使用自签名证书,当我尝试在浏览器中启动此页面时,我有安全警告,需要接受此显示页面。机器人工作得很好,但电报网络视图无法显示警告并显示白屏!当我将我的 crt 文件添加到手机上的密钥库时,一切正常,谢谢大家的帮助!

标签: telegram-bot


【解决方案1】:

当按下按钮时,"callback_query" 被调用。

使用nodejs api我以这种方式发送游戏链接:

bot.on("callback_query", function(callbackQuery) {
   bot.answerCallbackQuery(callbackQuery.id, gameLink, true, {url: gameLink});  
});

【讨论】:

    【解决方案2】:

    我也遇到了同样的问题,游戏出现白屏黑屏,

    当我尝试使用在浏览器中启动游戏的电报桌面打开它时,它返回有关 HTTPS 的错误。

    所以我尝试使用像 https://mygame.com 这样的 HTTPS 发送我的游戏 URL,然后它就可以工作了

    【讨论】:

      猜你喜欢
      • 2015-07-05
      • 2023-01-10
      • 2017-06-30
      • 1970-01-01
      • 2015-02-10
      • 1970-01-01
      • 2018-02-01
      • 1970-01-01
      • 2015-10-20
      相关资源
      最近更新 更多