Telegram开发小程序(二)

news/2024/11/13 5:35:02/

使用Next.js app开发Telegram 小程序

小程序调用分享,并获取到分享的参数

const { webApp } = useTelegram();const handleXShare = useCallback(() => {if (webApp) {webApp.openTelegramLink(`https://t.me/share/url?text=%F0%9F%A4%91%20Get%20reach%20with%20Mining!%0AMine%20Mining%20tokens%20and%20withdraw%20them%20to%20your%20crypto%20wallet%20!%0A%0A%F0%9F%8E%81%F0%9F%8E%81%F0%9F%8E%81%20Join%20and%20get%20up%20to%201000%20Mining%20tokens%20!%0A&url=https://t.me/pkg007bot/pkgbest?startapp=${data.invite_code}`); } }, [data, webApp]);
https://t.me/botusername/appname?startapp=command&mode=compact

如果链接中包含非空的startapp参数,它将在webApp 的 initData 中的start_param字段获取到

useEffect(() => {if (initData) {const paramsString = decodeURIComponent(initData);const params = new URLSearchParams(paramsString);const inviteCode =params.get("start_param") || localStorage.getItem("inviteCode");if (inviteCode) {localStorage.setItem("inviteCode", inviteCode);}}}, [initData]);

您可以通过mode=compact在链接中包含该参数将小程序默认以半屏高度打开

参考链接:

  • 机器人官方文档:https://core.telegram.org/bots/webapps
  • 小程序开发文档:https://docs.ton.org/develop/dapps/telegram-apps/
  • Telegram-mini-apps-docs:https://docs.telegram-mini-apps.com/platform/about
  • 机器人按钮配置文档参考:https://www.jackygu.me/posts/a-telegram-mini-app/

http://www.ppmy.cn/news/1500063.html

相关文章

FreeTDS从Linux访问Windows SqlServer数据库

提示 \color{red}{提示} 提示: 《Linux系统上安装FreeTDS》中讲述了如何安装包管理工具自带的的FreeTDS软件包。 《Linux系统上编译安装FreeTDS库文件》中讲述了如何编译FreeTDS源码,并安装。 《FreeTDS库文件在C代码中的简单应用》中介绍了一个简单的C用…

Filebeat安装部署及入门应用

前言 后续开发项目要用到 Filebeat 对日志做收集和处理。本文介绍了 ELK 技术中的 Filebeat,用于轻量级的日志收集和分析 参考资料: 视频教程:Elastic Stack(ELK)从入门到实践 官方文档:Filebeat overv…

详解yolov5和yolov8以及目标检测相关面试

一、与yoloV4相比,yoloV5的改进 输入端:在模型训练阶段,使用了Mosaic数据增强、自适应锚框计算、自适应图片缩放基准网络:使用了FOCUS结构和CSP结构Neck网络:在Backbone和最后的Head输出层之间插入FPN_PAN结构Head输出…

技术成神之路:设计模式(九)备忘录模式

介绍 备忘录模式(Memento Pattern)是一种行为设计模式,它允许在不破坏封装性的前提下捕获和恢复对象的内部状态。通过备忘录模式,可以在程序运行过程中保存和恢复对象的某个状态,从而实现“撤销”等功能。 1.定义 备忘…

【VS2019安装+QT配置】

【VS2019安装QT配置】 1. 前言2. 下载visual studio20193. visual studio2019安装4. 环境配置4.1 系统环境变量配置4.2 qt插件开发 5. Visual Studio导入QT项目6. 总结 1. 前言 前期安装了qt,发现creator编辑器并不好用,一点都不时髦。在李大师的指导下&…

oracle登录报“ORA-27101: shared memory realm does not exist”

oracle登录报“ORA-27101: shared memory realm does not exist” 问题: 1、使用ip:1521/服务名方式连库报错" ORA-27101: shared memory realm does not exist Linux-x86_64 Error: 2: No such file or directory" 2、sqlplus XX/密码 可以登录数据库 …

MySQL常见指令

MySQL中的数据类型 大致分为五种:数值,日期和时间,字符串,json,空间类型 每种类型也包括也一些不同的子类型,根据需要来选择。 如数值类型包括整数类型和浮点数类型 整数类型根据占用的存储空间的不同 又…

设计模式在现代Java开发中的实践

引言 设计模式是软件工程中的一种语言,用于解决在特定环境下反复出现的软件设计问题。随着软件开发的复杂性增加,设计模式在现代Java开发中的应用越来越广泛。本文将结合实际案例,讲解设计模式的应用以及它们如何解决特定的设计问题。 设计模式分类 设计模式通常分为三类…