使用 Telegram 轻松扫描二维码!
该存储库包含 @easyqrscanbot 的代码,这是一个用于扫描二维码的 Telegram Mini 应用程序。
确保您已更新 Telegram 应用程序,Telegram API 的最低版本要求是6.9
。
@easyqrscanbot
并发起私人聊天。Scan QR
)。 Telegram API 版本高于6.9
的 Telegram 智能手机客户端(Android 和 iOS)支持 QR 码扫描仪。不幸的是,QR 扫描在 Telegram Web 客户端上不可用。但是,您仍然可以在 Web 客户端上访问小应用程序并查看扫描历史记录。
该项目演示了如何使用 Vue 等现代 JavaScript 框架创建 Telegram Mini 应用程序。它还演示了如何利用 Telegram API 6.9 版中引入的最新功能,包括:
该项目代表一个纯 Vue 前端应用程序,它使用 Telegram 云存储后端来存储获取的扫描。
部署过程使用 GitHub Actions 完全自动化。每次推送到master
分支时,都会自动构建迷你应用程序并将其部署到关联的 GitHub Pages 站点。
在此处访问迷你应用程序:迷你应用程序链接。
要开始该项目,请按照下列步骤操作:
git clone https://github.com/MBoretto/easy-qr-scan-bot.git
cd easy-qr-scan-bot
npm install
npm run build
要运行代码检查,请使用以下命令:
npm run lint
快乐编码!
在开始之前,请确保您有一个 Telegram 机器人。如果您还没有,您可以使用此 Telegram 指南创建一个。
如果您想部署自己的小程序,请按照以下步骤操作:
克隆这个存储库。
通过转至Settings
-> Pages
-> 选择GitHub Actions
作为源,为您的存储库启用 GitHub Pages。 GitHub 会自动将小应用程序部署到与您的存储库关联的 GitHub Pages 上。
您还可以选择使用任何支持https://
托管服务来部署您的小应用程序。
这是启动迷你应用程序的最简单方法,因为它只需要您配置一次 Telegram Bot 菜单。以下是将迷你应用程序链接到机器人菜单的步骤:
/mybots
。现在,您可以从 Telegram Bot 菜单启动您的迷你应用程序。
此方法在开发阶段非常有用,允许您为小应用程序指定不同的 URL,而无需重新配置 Telegram Bot 菜单。但是,它需要正在运行的 Telegram 机器人服务。请按照下列步骤操作:
pip3 install python-telegram-bot --upgrade
config.py
中的config-example.py
: mv config-example.py config.py
编辑config.py
文件并插入您的 Telegram Bot 令牌TOKEN
(您可以从 @BotFather 获取)、 URL
和URL_TEST
链接。
运行web-app-launcher.py
脚本:
python3 web-app-launcher.py
/start
(对于生产链接)或/dev
(对于测试链接)发送到机器人。现在,您可以使用测试链接启动并测试您的小应用程序。
Telegram Cloud Storage 是一个可从任何 Telegram 客户端访问的键值数据库。它允许您为每个机器人的每个用户存储最多1024
密钥,每个值的长度限制为4096
个字符。数据与用户的 Telegram 帐户关联并跨设备保留。扫描二维码后,使用时间戳作为密钥存储原始字符串。
迷你应用程序在启动时加载完整的扫描历史记录并将其存储在本地。后续扫描将存储在 Telegram 云存储和本地中。
根据二维码的内容对检索到的原始数据进行处理以提取信息。支持的二维码内容类型:
在历史记录选项卡中,展开您要删除的二维码,然后按Bin
按钮。此操作将从 Telegram 云存储和本地存储中删除 QR 码。小程序不存储任何其他数据,也不使用cookie。
二维码扫描仪通常会在识别代码后关闭。但是,您可以通过导航到设置选项卡并按Continuous Scan
按钮来启用连续扫描模式。要禁用连续扫描模式,请再次按该按钮。您可以通过按左上箭头退出连续模式。
成功扫描二维码后,设备会振动以提供反馈。
在小应用程序的设置部分,您将找到用于调试和开发的有用工具:
Sync Cloud Storage
按钮:此按钮会将小应用程序的本地存储与 Telegram 云存储同步,相当于打开和关闭小应用程序。Enrich QR codes
按钮:触发所有扫描的原始 QR 码计算。Show debug
显示:该项目使用 Vuetify,一个 Vue 组件框架库。
该代码在 MIT 许可证下分发