小编Die*_*sus的帖子

Telegram Bot - 根据最后一个机器人问题处理用户响应

我希望我的 Telegram 机器人根据机器人提出的最后一个问题来处理用户输入。基本上,流程是这样的:

  • 用户调用 /authenticate 命令
  • 机器人要求提供电子邮件
  • 用户发送他的电子邮件
  • 机器人会回复一条有关将代码发送到用户的电子邮件进行确认的消息,并要求用户在聊天中输入代码
  • 用户输入代码
  • 机器人验证用户代码并且用户已通过身份验证并开始接收通知

问题是:我如何知道用户正在回答此流程中的特定机器人问题?

我想了两种方法:

  • 发送带有强制回复选项的消息,以便用户必须回复机器人问题。这将向我发回用户正在响应的消息,以便我可以比较机器人消息字符串以查看答案是什么。

  • 将最后一条机器人消息存储在某处,然后当消息到达时,检查最后一条机器人消息是什么,并假设用户消息是响应。

有没有更好的办法?我正在使用 Java 和telegrambots 库

java telegram telegram-bot

8
推荐指数
1
解决办法
7956
查看次数

OkHttpClient - 从系统属性中忽略代理

我有一个 Web 容器 (Glassfish),在其系统属性上为一个应用程序配置了代理。

现在我在同一个 Web 容器上有另一个应用程序,并且想使用 OkHttpClient 通过代码自定义代理的使用。

问题是 OkHttpClient 自动使用系统属性中配置的代理。这是我实例化 HTTP 客户端的代码:

        httpClient = new OkHttpClient.Builder()
                .connectTimeout(60, TimeUnit.SECONDS)
                .writeTimeout(60, TimeUnit.SECONDS)
                .readTimeout(60, TimeUnit.SECONDS)
                .build();
Run Code Online (Sandbox Code Playgroud)

当我尝试执行 GET 请求时,它无法告诉我它无法通过指定的代理主机进行连接。有没有办法忽略系统属性上的代理?

java rest okhttp

3
推荐指数
1
解决办法
1215
查看次数

标签 统计

java ×2

okhttp ×1

rest ×1

telegram ×1

telegram-bot ×1