虽然我已经将dApp发布到了GitHub Pages,任何人都可以通过浏览器访问它。然而,为了更好地推广应用程序,还是希望它可以能够无缝地从用户聚集度高的地方直接访问。
Messenger是实现这一目标的最佳方式之一。假设你的一个用户与他的朋友或一群人分享了你的应用程序,让这些新用户入门的最无缝方式不是将他们引导到浏览器,而是让他们能够在Messenger中本地使用你的应用程序。Telegram就是一款很优秀的Messenger类应用,其上每月有多达7亿活跃用户,每天有超过5000万活跃用户。对于应用程序来说,是一庞大的潜在用户群。
Telegram机器人是与Telegram用户进行互动的绝佳方式。Telegram机器人完全取代任何网站,它们支持无缝授权,通过15个支付提供商集成支付,并支持Google Pay和Apple Pay,可以向用户发送定制的推送通知等等。
深入了解Telegram Web应用程序
仔细研究下Telegram Web应用程序是什么样子。在Telegram主页上直接前往API页面,看到Bot API是其中之一
它可以用于许多事情:接收付款、处理文件和特定任务、与其他服务集成(例如GMail),甚至可以托管游戏。
Telegram Web应用程序超越了基本的请求-回答互动。前往Web应用程序demo部分,这里已经构建了一个可以在浏览器中访问的Web应用程序,现在需要将其集成到这个机器人中,然后就能够根据用户的设备设置更改配色方案和语言。
Telegram Web应用程序启动选项
集成非常无缝。Telegram Web应用程序可以通过键盘按钮、内联按钮或机器人菜单按钮在机器人中启动。我们将在下一课中使用机器人菜单按钮。Web应用程序部分是学习Telegram Web应用程序可能性的绝佳资源。
我们已经构建了一个可以在浏览器中访问的Web应用程序。现在我们需要知道如何将其与Telegram的API集成。Telegram为我们提供了一个脚本,我们只需加载它即可访问众多功能,例如配色方案、平台、屏幕尺寸检测等。
现在我们需要将我们的应用程序与脚本集成,找到一个可以帮助我们用React做到这一点的SDK,只需安装这个库:
npm i @twa-dev/sdk
它使我们能够访问脚本。
创建TG_BOT
如何在 Telegram 中创建一个机器人?首需要给一个非常特殊的账户发送消息,这个账户叫做 BotFather。创建一个机器人,为它取个名字,并将现有的应用集成到这个机器人的菜单按钮中。
在与 BotFather 的对话中,点击开始按钮后,你会看到多个选项。进入菜单并点击“创建新机器人”。接下来会被问到想给我们的机器人取什么名字,这里可以取名为 "TON&CO Tutorial"。然后我们需要选择机器人的用户名。通常,机器人用户名都以“bot”结尾。如果我们尝试使用 "tonandcotutorial" 作为用户名,它会要求我们使用带有“bot”后缀的名称,所以我们将它命名为 "tonandcotutorialbot"。
接着我们得到了一个 HTTP API 密钥,这个会在创建聊天机器人命令接口时用到。
现在回到菜单,点击“编辑你的机器人”,选择机器人名称并进入“机器人设置”。在设置中选择“菜单按钮”。然后点击“配置菜单按钮”,系统会要求发送在点击机器人菜单按钮时要打开的 URL。这正是我们在上一课将应用发布到 GitHub Pages 后得到的链接:
https://markokhman.github.io/first_contract_front_end/
接下来要求输入标题。标题可以简单地设为“Counter”,这样用户点击“Counter”后,我的应用就会打开,然后可以回到机器人。
还有一件事:在机器人设置可以编辑机器人的名称、简介文本、描述,甚至是图片。编辑命令可以让你在菜单中拥有多个按钮。
打开机器人,点击开始。这里可以看到“Counter”按钮,如果点击它,它会询问我是否同意进入该网站。点击“OK”,机器人就会打开应用。在应用中可以调整页面高度——这也可以通过我之前提到的 SDK 来完成。
在应用中,点击“Connect Wallet”(连接钱包),选择 Tonkeeper,并收到连接钱包的请求。当钱包连接后,应用也已经被授权。
但这不仅仅是一个简单的 Web 应用:它为我们提供了许多与机器人互动的可能性。机器人界面可以非常不同,并带来全新的质量水平。