Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Telegram bot 和 mini apps 开发简易教程 #65

Open
brickspert opened this issue Oct 10, 2023 · 52 comments
Open

Telegram bot 和 mini apps 开发简易教程 #65

brickspert opened this issue Oct 10, 2023 · 52 comments

Comments

@brickspert
Copy link
Owner

Telegram 是全球顶流的社交软件,目前其提供了机器人 bot 和 mini app,可以非常方便的开发三方服务。
本文通过实现一个 TodoList 服务,以跑通完整的开发流程。

环境准备

建议使用 Test 环境开发,限制条件会少很多。如何打开 Test 环境,参考官方文档,比较简单。
以 MacOS 版本为例:

  1. 点击 10 下设置按钮,打开 Debug 面板
  2. 开启 Debug 模式
  3. ⌘ + click点击添加账号,即可登录测试账号

Bot

机器人注册

  1. 搜索 BotFather 机器人

  1. 输入 /newbot新建机器人,然后根据提示输入即可。第一次输入昵称,第二次输入机器人账号(全平台唯一,且需要以 bot 结尾),至此新建机器人成功,记得保存返回的机器人 Token,开发时需要

  1. 机器人新建成功,我们可以通过机器人账号「todo_list_demo_bot」搜索到机器人,并与它对话。当然,现在机器人还什么都不会呢。

功能实现

机器人的交互逻辑很简单,用户输入的任意内容,会通知到我们的服务端,服务端根据约定的格式,处理用户请求。
比如我们约定通过 /add 任务的格式来添加任务,那当用户输入 /add 写作业时,服务端会通过文本匹配,来添加一个 写作业的任务。

我们先来实现添加任务的服务端逻辑,极其简单。
这里我们通过 Node.js 语言来写,同时集成了 node-telegram-bot-api 库,只需要几行代码就好了。

const TelegramBot = require('node-telegram-bot-api');

const token = 'your token';

const bot = new TelegramBot(token, { polling: true, testEnvironment: true });

const todos = {};

bot.onText(/\/add (.+)/, (msg, match) => {
  const chatId = msg.chat.id;
  const text = match[1];

  if (!todos[chatId]) {
    todos[chatId] = [];
  }
  todos[chatId].push(text);

  bot.sendMessage(chatId, 'Added "' + text + '" to your to-do list.');
});

上面代码很简单,就是当用户输入的内容是以 /add 开始的话,就给该用户新增一个任务。
启动这个服务,然后我们试一试效果。

现在我们已经可以成功的通过机器人新建一个任务了。

然后我们再加一个 /list命令,列出当前所有的任务

bot.onText(/\/list/, (msg) => {
  const chatId = msg.chat.id;
  const todoList = todos[chatId];

  let message = 'Your to-do items are:\n';
  todoList.forEach((item, index) => {
    message += `${index + 1}. ${item}\n`;
  });
  bot.sendMessage(chatId, message);
});

成功。

接下来我们上点难度,我们希望这样删除任务:

  1. 用户输入 /delete关键字
  2. 用户端显示出所有的任务,并可以点击,用户选择一个任务删除
// 监听 /delete 命令,返回所有的任务
bot.onText(/\/delete/, (msg) => {
  console.log('??delete');
  const chatId = msg.chat.id;
  const todoList = todos[chatId];
  bot.sendMessage(chatId, 'Click an item to delete:', {
    reply_markup: {
      inline_keyboard: todoList.map((item, index) => [
        {
          text: `${index + 1}. ${item}`,
          callback_data: JSON.stringify({ command: 'delete', index })
        },
      ]),
    },
  });
});

// 监听用户点击
bot.on('callback_query', (callbackQuery) => {
  const message = callbackQuery.message;
  const data = JSON.parse(callbackQuery.data);
  const chatId = message.chat.id;

  if (data.command === 'delete') {
    const deleted = todos[chatId].splice(data.index, 1);
    bot.answerCallbackQuery(callbackQuery.id, { text: 'Deleted "' + deleted[0] + '" from your to-do list.' });
  }

});

上面的代码很简单,做了两件事情:

  1. 当用户输入 /delete后,返回所有的任务,注意 inline_keyboard,就是控制在返回消息中添加按钮的。
  2. 监听用户点击任务,监听到之后删除该任务。

通过上述几个步骤,我们实现了一个简单的 TodoList Demo。

然后我们稍微优化一下,/list/delete命令做成直接点击选择的,不需要每次都手动输入。
找到 BotFather 机器人,输入 /setcommands 命令,然后按要求输入我们约定的命令。

这样用户就可以通过我们机器人左下角的菜单按钮,直接快捷选择命令了。

Mini apps

上面的 Bot 还是以文本的形式操作 TodoList,当然没有可视化界面操作着舒服。这一小节我们实现一个集成在 Telegram 中的可视化页面,来管理 TodoList。

APP 注册

注册 APP 说白了,就是给我们的 Bot 机器人,绑定一个网站域名,这个网站就是一个 mini app 了。
老规矩,找到 BotFather,输入 /newapp,告诉它我们要新建一个 app,然后选择需要绑定的 Bot,然后根据提示一步一步输入即可。

这里需要注意的是,Test 环境域名可以绑定 127.0.0.1,开发起来非常方便。
最终 BotFather 会给我们一个 t.me/bot_name/name格式的域名,通过这个域名就可以打开我们的 app 了。

APP 实现

App 就是一个普通的网页,比如我们写一个最简单的 HTML 文件

<!DOCTYPE html>
<html lang="en">

  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Todo List</title>
  </head>

  <body>
    Hello Todo List
  </body>

</html>

上面的 HTML 文件,我们启动一个服务,通过 http://127.0.0.1:8000 可以访问到即可。

然后我们在 Telegram 中打开刚才注册 app 给的网址:t.me/todo_list_demo_bot/manager,即可成功访问我们的 app 了,效果如下图。

如果只是一个单纯的网页,肯定不能满足我们的需求。
我们需要拿到 Telegram 的各种状态,比如当前用户信息,用户位置,主题配置等等各种。
同时我们需要能和 Telegram 进行各种交互。

很简单,在我们的 HTML 中集成 telegram-web-app.js即可,然后我们就可以通过 window.Telegram.WebApp变量和 Telegram 进行交互了。

<script src="https://telegram.org/js/telegram-web-app.js"></script>

具体的 API 可以参考官方文档
具体 TodoList 代码这里就不做实现了。

更多能力

通过上述文档,我们跑通了 Bot 和 APP 的开发流程,使用了一些最基础的功能。
当然 Telegram Bot 和 APP 还有其它更多更强大的功能,可以参见官方文档。这里我简单罗列一些功能。

  1. 支持给不同的用户组设置不通的命令
  2. 支持控制多种按钮位置

  1. 支持在群聊中给机器人发送命令,同时支持如图的内联响应。

  1. 支持附件菜单,不过只对特定应用开放权限。

@ccj-csf
Copy link

ccj-csf commented May 22, 2024

image 输入http的链接,提示非法,想问一下这个是怎么解决的

@Wing-Li
Copy link

Wing-Li commented May 28, 2024

使用 Test 环境开发,MacOS ,连续点击设置图标,⌘ + click点击添加账号,即可登录测试账号。

显示出登录页面之后,账号 必须是要新建的吗? 可以扫码登录吗?这一步一直登录失败。

@brickspert
Copy link
Owner Author

使用 Test 环境开发,MacOS ,连续点击设置图标,⌘ + click点击添加账号,即可登录测试账号。

显示出登录页面之后,账号 必须是要新建的吗? 可以扫码登录吗?这一步一直登录失败。

可以用正式版本的手机号登录,手机 app 上同意下就可以。

@brickspert
Copy link
Owner Author

image 输入http的链接,提示非法,想问一下这个是怎么解决的

你的 tg 是测试环境吗?

@chen99-long
Copy link

使用 Test 环境开发,MacOS ,连续点击设置图标,⌘ + click点击添加账号,即可登录测试账号。
显示出登录页面之后,账号 必须是要新建的吗? 可以扫码登录吗?这一步一直登录失败。

可以用正式版本的手机号登录,手机 app 上同意下就可以。

国内手机号是不是收不到验证码呀,我之前登陆是通过手机上下载telegramX才收到的验证码,登录以后电脑上再扫码登陆的,但是电脑上发送的验证码手机上一直收不到 请问你们都是怎么解决的呢

@overdosed-22
Copy link

使用 Test 环境开发,MacOS ,连续点击设置图标,⌘ + click点击添加账号,即可登录测试账号。
显示出登录页面之后,账号 必须是要新建的吗? 可以扫码登录吗?这一步一直登录失败。

可以用正式版本的手机号登录,手机 app 上同意下就可以。

国内手机号是不是收不到验证码呀,我之前登陆是通过手机上下载telegramX才收到的验证码,登录以后电脑上再扫码登陆的,但是电脑上发送的验证码手机上一直收不到 请问你们都是怎么解决的呢

我也是同样的问题,收不到验证码

@chen99-long
Copy link

使用 Test 环境开发,MacOS ,连续点击设置图标,⌘ + click点击添加账号,即可登录测试账号。
显示出登录页面之后,账号 必须是要新建的吗? 可以扫码登录吗?这一步一直登录失败。

可以用正式版本的手机号登录,手机 app 上同意下就可以。

国内手机号是不是收不到验证码呀,我之前登陆是通过手机上下载telegramX才收到的验证码,登录以后电脑上再扫码登陆的,但是电脑上发送的验证码手机上一直收不到 请问你们都是怎么解决的呢

我也是同样的问题,收不到验证码

一起蹲作者回复吧咱们。。。我加这个作者的微信他也一直没通过,大佬太忙了。。

@brickspert
Copy link
Owner Author

使用 Test 环境开发,MacOS ,连续点击设置图标,⌘ + click点击添加账号,即可登录测试账号。
显示出登录页面之后,账号 必须是要新建的吗? 可以扫码登录吗?这一步一直登录失败。

可以用正式版本的手机号登录,手机 app 上同意下就可以。

国内手机号是不是收不到验证码呀,我之前登陆是通过手机上下载telegramX才收到的验证码,登录以后电脑上再扫码登陆的,但是电脑上发送的验证码手机上一直收不到 请问你们都是怎么解决的呢

我也是同样的问题,收不到验证码

一起蹲作者回复吧咱们。。。我加这个作者的微信他也一直没通过,大佬太忙了。。

没注意到,可以再加一次。

这个问题我也碰到过,其实是不用验证码的。

  1. 手机登录 tg 账号
  2. 电脑测试环境登录同样的 tg 账号,这时候发送的不是验证码,而是给你的 tg 手机 app 发送的验证。

我之前也是踩了这个坑,一直在等手机验证码,等不到。
其实就没发验证码,而是在手机 app 验证。

@chen99-long
Copy link

使用 Test 环境开发,MacOS ,连续点击设置图标,⌘ + click点击添加账号,即可登录测试账号。
显示出登录页面之后,账号 必须是要新建的吗? 可以扫码登录吗?这一步一直登录失败。

可以用正式版本的手机号登录,手机 app 上同意下就可以。

国内手机号是不是收不到验证码呀,我之前登陆是通过手机上下载telegramX才收到的验证码,登录以后电脑上再扫码登陆的,但是电脑上发送的验证码手机上一直收不到 请问你们都是怎么解决的呢

我也是同样的问题,收不到验证码

一起蹲作者回复吧咱们。。。我加这个作者的微信他也一直没通过,大佬太忙了。。

没注意到,可以再加一次。

这个问题我也碰到过,其实是不用验证码的。

  1. 手机登录 tg 账号
  2. 电脑测试环境登录同样的 tg 账号,这时候发送的不是验证码,而是给你的 tg 手机 app 发送的验证。

我之前也是踩了这个坑,一直在等手机验证码,等不到。 其实就没发验证码,而是在手机 app 验证。

app验证和验证码都没收到呀,请问大佬手机上使用telegramX登陆的吗,手机上的telegram登陆不上,没有登录验证码,所以我用的是telegramX

@overdosed-22
Copy link

使用 Test 环境开发,MacOS ,连续点击设置图标,⌘ + click点击添加账号,即可登录测试账号。
显示出登录页面之后,账号 必须是要新建的吗? 可以扫码登录吗?这一步一直登录失败。

可以用正式版本的手机号登录,手机 app 上同意下就可以。

国内手机号是不是收不到验证码呀,我之前登陆是通过手机上下载telegramX才收到的验证码,登录以后电脑上再扫码登陆的,但是电脑上发送的验证码手机上一直收不到 请问你们都是怎么解决的呢

我也是同样的问题,收不到验证码

一起蹲作者回复吧咱们。。。我加这个作者的微信他也一直没通过,大佬太忙了。。

没注意到,可以再加一次。

这个问题我也碰到过,其实是不用验证码的。

  1. 手机登录 tg 账号
  2. 电脑测试环境登录同样的 tg 账号,这时候发送的不是验证码,而是给你的 tg 手机 app 发送的验证。

我之前也是踩了这个坑,一直在等手机验证码,等不到。 其实就没发验证码,而是在手机 app 验证。

我就是按照你的这个步骤在手机的tg上等tg的验证消息,但是没发过来

@brickspert
Copy link
Owner Author

使用 Test 环境开发,MacOS ,连续点击设置图标,⌘ + click点击添加账号,即可登录测试账号。
显示出登录页面之后,账号 必须是要新建的吗? 可以扫码登录吗?这一步一直登录失败。

可以用正式版本的手机号登录,手机 app 上同意下就可以。

国内手机号是不是收不到验证码呀,我之前登陆是通过手机上下载telegramX才收到的验证码,登录以后电脑上再扫码登陆的,但是电脑上发送的验证码手机上一直收不到 请问你们都是怎么解决的呢

我也是同样的问题,收不到验证码

一起蹲作者回复吧咱们。。。我加这个作者的微信他也一直没通过,大佬太忙了。。

没注意到,可以再加一次。
这个问题我也碰到过,其实是不用验证码的。

  1. 手机登录 tg 账号
  2. 电脑测试环境登录同样的 tg 账号,这时候发送的不是验证码,而是给你的 tg 手机 app 发送的验证。

我之前也是踩了这个坑,一直在等手机验证码,等不到。 其实就没发验证码,而是在手机 app 验证。

我就是按照你的这个步骤在手机的tg上等tg的验证消息,但是没发过来

image

用这个方式扫码登录,我刚试了下是可以的。

@overdosed-22
Copy link

overdosed-22 commented Jun 13, 2024 via email

@CarassiusAuratus
Copy link

请问大佬手机上使用telegramX登陆的吗,手机上的telegram登陆不上,没有登录验证码,所以我用的是telegramX

我也遇到这个问题 扫码登录AUTH_TOKEN_INVALID2 然后也接收不到验证码

@scnon
Copy link

scnon commented Jul 2, 2024

正式服和测试服的账号数据是不通的,在测试服需要注册新的账号。但是测试服好像不会发送验证码,而是使用特定的账号和特定的验证码。区号必须是 +999 然后手机号码前两位必须是 66,后面5位随意基本格式是

+999 66XYYYY

然后上面这个 X 必须小于等于3,而且这个数字就是验证码要填的数字。例如 +999-6613322,那么验证码就是 11111, 其他同理。

参考链接: https://prog.world/telegram-test-servers

不过目前我遇到的问题,注册成功后,去 BotFathe 那里新建机器人,全都是被 ban 的状态, 一个月内无法创建机器人。试了好多账号都不行,看大家能不能找到解决方法。

@chen99-long
Copy link

正式服和测试服的账号数据是不通的,在测试服需要注册新的账号。但是测试服好像不会发送验证码,而是使用特定的账号和特定的验证码。区号必须是 +999 然后手机号码前两位必须是 66,后面5位随意基本格式是

+999 66XYYYY

然后上面这个 X 必须小于等于3,而且这个数字就是验证码要填的数字。例如 +999-6613322,那么验证码就是 11111, 其他同理。

参考链接: https://prog.world/telegram-test-servers

不过目前我遇到的问题,注册成功后,去 BotFathe 那里新建机器人,全都是被 ban 的状态, 一个月内无法创建机器人。试了好多账号都不行,看大家能不能找到解决方法。

感谢大佬啊 我现在就去试试

@bird9996
Copy link

bird9996 commented Jul 4, 2024

正式服和测试服的账号数据是不通的,在测试服需要注册新的账号。但是测试服好像不会发送验证码,而是使用特定的账号和特定的验证码。区号必须是 +999 然后手机号码前两位必须是 66,后面5位随意基本格式是

+999 66XYYYY

然后上面这个 X 必须小于等于3,而且这个数字就是验证码要填的数字。例如 +999-6613322,那么验证码就是 11111, 其他同理。

参考链接: https://prog.world/telegram-test-servers

不过目前我遇到的问题,注册成功后,去 BotFathe 那里新建机器人,全都是被 ban 的状态, 一个月内无法创建机器人。试了好多账号都不行,看大家能不能找到解决方法。

请问解决了嘛 我给客服发了邮件还没回我

@brickspert
Copy link
Owner Author

正式服和测试服的账号数据是不通的,在测试服需要注册新的账号。但是测试服好像不会发送验证码,而是使用特定的账号和特定的验证码。区号必须是 +999 然后手机号码前两位必须是 66,后面5位随意基本格式是

+999 66XYYYY

然后上面这个 X 必须小于等于3,而且这个数字就是验证码要填的数字。例如 +999-6613322,那么验证码就是 11111, 其他同理。

参考链接: https://prog.world/telegram-test-servers

不过目前我遇到的问题,注册成功后,去 BotFathe 那里新建机器人,全都是被 ban 的状态, 一个月内无法创建机器人。试了好多账号都不行,看大家能不能找到解决方法。

请问解决了嘛 我给客服发了邮件还没回我

测试环境的登录,应该是直接输入手机号登录,手机号就是正式环境那个手机号,然后会在手机 TG APP 上收到一个通知(不是短信)。

我记得就是这样,可能细节上会有出入。但是链路是通的。

@bird9996
Copy link

bird9996 commented Jul 4, 2024

正式服和测试服的账号数据是不通的,在测试服需要注册新的账号。但是测试服好像不会发送验证码,而是使用特定的账号和特定的验证码。区号必须是 +999 然后手机号码前两位必须是 66,后面5位随意基本格式是

+999 66XYYYY

然后上面这个 X 必须小于等于3,而且这个数字就是验证码要填的数字。例如 +999-6613322,那么验证码就是 11111, 其他同理。

参考链接: https://prog.world/telegram-test-servers

不过目前我遇到的问题,注册成功后,去 BotFathe 那里新建机器人,全都是被 ban 的状态, 一个月内无法创建机器人。试了好多账号都不行,看大家能不能找到解决方法。

请问解决了嘛 我给客服发了邮件还没回我

测试环境的登录,应该是直接输入手机号登录,手机号就是正式环境那个手机号,然后会在手机 TG APP 上收到一个通知(不是短信)。

我记得就是这样,可能细节上会有出入。但是链路是通的。

我是登录成功之后创建机器人 提示我
Uploading WeChat22c4b5a895a567cf18e42523ba07e8e1.png…

@bird9996
Copy link

bird9996 commented Jul 4, 2024

WeChat22c4b5a895a567cf18e42523ba07e8e1

@toleleYJL
Copy link

嗯...开测试环境看来好麻烦。如果使用真实环境,会有什么影响呢?

@AjaxSir
Copy link

AjaxSir commented Jul 10, 2024

嗯...开测试环境看来好麻烦。如果使用真实环境,会有什么影响呢?

我用的真实环境试了一下,自己玩儿应该没啥大问题吧😄

@VpnJh
Copy link

VpnJh commented Jul 11, 2024

不开测试环境下,怎么直接运行到电报上调试他们的api 呢?

嗯...开测试环境看来好麻烦。如果使用真实环境,会有什么影响呢?

我用的真实环境试了一下,自己玩儿应该没啥大问题吧😄

@scnon
Copy link

scnon commented Jul 11, 2024

已经放弃测试服了,决定使用vscode的端口转发进行调试

@VpnJh
Copy link

VpnJh commented Jul 11, 2024

已经放弃测试服了,决定使用vscode的端口转发进行调试
这个怎么搞的。。。 可以教教我么?

@narnona
Copy link

narnona commented Jul 11, 2024

不开测试环境下,怎么直接运行到电报上调试他们的api 呢?

嗯...开测试环境看来好麻烦。如果使用真实环境,会有什么影响呢?

我用的真实环境试了一下,自己玩儿应该没啥大问题吧😄

创了个电报群,一起交流下吧:https://t.me/+cthVYsS4lhwwZDll

@happydongzh
Copy link

image 输入http的链接,提示非法,想问一下这个是怎么解决的

老铁 你解决了没?

@chen99-long
Copy link

image 输入http的链接,提示非法,想问一下这个是怎么解决的

老铁 你解决了没?

文档里说了 一定是需要安全的https,你可以去腾讯云申请个免费的ca证书换成https协议,也可以在本地用ngrok把端口暴露出去

@Agoni1
Copy link

Agoni1 commented Jul 18, 2024

@scnon @happydongzh @chen99-long tg小程序官网文档有怎么开启测试环境的教程,测试环境的账号只能使用 tg ios端注册,手机号填真实的,需要接收验证码。
https://docs.telegram-mini-apps.com/platform/test-environment

@chen99-long
Copy link

@scnon @happydongzh @chen99-long tg小程序官网文档有怎么开启测试环境的教程,测试环境的账号只能使用 tg ios端注册,手机号填真实的,需要接收验证码。 https://docs.telegram-mini-apps.com/platform/test-environment

是的,但是在安卓上下载Telegram Beta也可以接收验证码,但是这个测试环境依然只能用https的域名

@Agoni1
Copy link

Agoni1 commented Jul 18, 2024

@chen99-long 实测可以使用 http
image

@chen99-long
Copy link

@chen99-long 实测可以使用 http image

明白了,第二个是局域网链接是吗

@Agoni1
Copy link

Agoni1 commented Jul 18, 2024

@chen99-long 实测可以使用 http image

明白了,第二个是局域网链接是吗

对,是我本机,没有试过远程服务器地址

@chen99-long
Copy link

@chen99-long 实测可以使用 http image

明白了,第二个是局域网链接是吗

对,是我本机,没有试过远程服务器地址

成功了成功了,localhost地址失败了以后我就没试过局域网地址了,没想到局域网地址居然走通了,感谢!!

@lxrosie
Copy link

lxrosie commented Jul 18, 2024

测试账号使用正式环境那个手机号登录,但是手机App上收不到验证码,这个问题怎么解决?

@coding-ice
Copy link

coding-ice commented Jul 19, 2024

@brickspert 还是没有走通哎,test环境进不去 有大佬知道如何进去吗,验证码收不到或者扫码是无效的

@Agoni1
Copy link

Agoni1 commented Jul 19, 2024

@lxrosie @brickspert @coding-ice 我是这样的,你们可以参考,所有操作的前提是挂梯子:

  1. 手机是安卓,telegram正式版登不上,收不到验证码。只能下载 telegram X 版本,把手机地区和语言改成日本,重启,再用 tg X版本登录就可以收到验证码了。X 版本登录之后,就可用通过 X 版本收验证码登录正式版了。(好像我当时是先用X 版本扫码登录电脑版,然后再登录手机正式版,记不清了)
  2. 注册测试环境账号,一定要在 ios 版上操作!!根据官网文档,首先快速敲击设置按钮10次,在弹出的页面点击Accounts,再点Login to another account,再点Test,然后输入真实手机号,正常的话,你的手机(或者其他端的app,记不清了)会收到验证码,然后就注册成功了。
  3. 然后其他端就可以通过ios版接收验证码进入测试环境,各个端的进入方式按照官网文档来就行了。

@coding-ice
Copy link

@Agoni1 大佬,正常流程都是一致的,但是86的是不是收不到呀,但是虚拟的账号也收不到

@Agoni1
Copy link

Agoni1 commented Jul 19, 2024

@Agoni1 大佬,正常流程都是一致的,但是86的是不是收不到呀,但是虚拟的账号也收不到

注册测试环境的时候收不到验证码吗?我当时是在别人的 ios 手机上操作的,能收到验证码。你的不知道什么情况了

@lxrosie
Copy link

lxrosie commented Jul 19, 2024

@Agoni1 大佬,我用ios注册测试环境账号会报please check your internet connection 之类的,但是我已经挂了梯子,而且配置好proxy了,不知道是网络问题还是啥

@Agoni1
Copy link

Agoni1 commented Jul 19, 2024

@Agoni1 大佬,我用ios注册测试环境账号会报please check your internet connection 之类的,但是我已经挂了梯子,而且配置好proxy了,不知道是网络问题还是啥

看这提示肯定是网络问题了,这种应该发验证码的时候会转圈很长时间

@Agoni1
Copy link

Agoni1 commented Jul 19, 2024

我跟他是一样的

试试改手机地区和语言,改成跟梯子的地区一样的,如果还不行我也不知道了

@coding-ice
Copy link

只能使用超能力了 买!

@coding-ice
Copy link

coding-ice commented Jul 19, 2024

兄弟们,有另外的解决方案 设置https链接

  1. npm install -g localtunnel
  2. 启动以后,把网络的ip(外网)地址输入进去即可(密码)
  3. 如果显示占用了,就把机场关了在去查下ip 即可
  4. 把类似https://mysubdomain.loca.lt/reactjs-template上去即可
image

@wcldyx
Copy link

wcldyx commented Aug 5, 2024

md,我现在通过内网穿透调试

@sponing
Copy link

sponing commented Aug 9, 2024

error: [polling_error] {"code":"ETELEGRAM","message":"ETELEGRAM: 401 Unauthorized"} 为什么呢,一直401

const TelegramBot = require('node-telegram-bot-api');

const token = '7033788024:AAFIMRIpNuUQkEGQnTiUyBchBdM8kT4zJ6Q';

const bot = new TelegramBot(token, {polling: true});

const todos = {};

bot.onText(//add (.+)/, (msg, match) => {
const chatId = msg.chat.id;
const text = match[1];

if (!todos[chatId]) {
todos[chatId] = [];
}
todos[chatId].push(text);

bot.sendMessage(chatId, 'Added "' + text + '" to your to-do list.');
});

打开 Telegram,找到你创建的 bot。
发送 /add 写作业 或其他任务信息。
bot 应该会回复你,确认该任务已被添加到你的待办事项列表。

@kiraraty
Copy link

@chen99-long 实测可以使用 http image

为什么我的不行 还是显示
image

@Agoni1
Copy link

Agoni1 commented Aug 11, 2024

@kiraraty k 用局域网ip,就192.168这样的

@kiraraty
Copy link

@kiraratyk 使用本地ip,就192.168这样的

image还是一样的 用的测试账号 和beta版本

@Agoni1
Copy link

Agoni1 commented Aug 11, 2024

@kiraraty 在cmd中输入ipconfig查一下,应该有一个非192的ip,比如172的,试一下呢

1 similar comment
@Agoni1
Copy link

Agoni1 commented Aug 11, 2024

@kiraraty 在cmd中输入ipconfig查一下,应该有一个非192的ip,比如172的,试一下呢

@CoderHaay
Copy link

  1. PC 切换 test server;
  2. 手机端 点击 10下 设置,在debug界面 新增测试 账号,这个账号可以是已有的账号,不冲突的。 然后用这个 测试账号扫码pc上的 二维码,才可以登录;
  3. 关于http的问题, 我使用了 ngrok 内网穿透;

@sc0Vu
Copy link

sc0Vu commented Oct 17, 2024

正式服測試 miniapp 任何可以 bridge localhost 的服務都可以使用,像是 proxy 或是 ngrok,記得要設定 https 憑證(letsencrypt)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests