无意中发现telegram上居然也能发布小程序和游戏了,感觉发现了新大陆一样,自己好玩试了下。
参考教程
要在telegram上开发一个mini App
或者game
,创建一个专属于你的机器人就必不可少了。
创建bot机器人
在telegram上搜索@BotFather
或者点击该这里BotFather。
如下图:
进入对话框后,我们可以选择菜单
-> /newbot
。或者在输入栏直接输入/newbot
来创建机器人,只需要根据它的回复一步一步操作就可以了。
创建miniApp或者game
创建好机器人后,再创建miniApp或者game,看你的个人需求。
方法和上面创建bot一样,给@BotFather
发消息就行了。上面给出的参考教程中也有。
部署开发环境
这里的开发环境不是你的miniApp或者game的开发环境,而是用来对bot机器人的。这里可以用Node.js
和Deno
两种方式开发,我这里用的是Deno
。
部署方法参考链接
Deno教程
剩下的看教程,这里不多说,直接说重点
机器人回复用户一个游戏
1、 创建一个ts脚本,复制粘贴下面内容,注意:TOKEN
和GAME_SHORT_NAME
需要换成你自己的。
import {Bot} from "https://deno.land/x/grammy@v1.25.0/mod.ts";
const TOKEN = ''; // 这里填写你机器人的token
const GAME_SHORT_NAME = ''; // 这里填写你创建游戏的时候给它起的短名
// 创建一个 `Bot` 类的实例,并将你的 bot token 传给它。
const bot = new Bot(TOKEN); bot.command("start", async (ctx) => {await ctx.replyWithGame(GAME_SHORT_NAME)
});bot.start(); // 启动机器人
2、打开终端,输入下面命令执行脚本
deno run --allow-net ts脚本.ts
3、回到tg,给你自己的机器人,注意,不是BotFather
,是你自己创建的机器人,发送/start
消息,这个时候你就会看到你的机器人给你回了一个游戏的对话框,如下图:
;
这个时候你会发现,你点击游戏下面的play
按钮没有任何反应,这个时候我们需要在上面代码中给按钮添加回调事件。
4、给按钮添加回调
在上面脚本中加入下面代码: