141.9. reactive Chat-Bot 示例
被动 chat-bot 模式是使用 Camel 组件构建一个简单的聊天 bot 的方法,它直接回复从 Telegram 用户收到的聊天消息。
以下是 Java DSL 中 chat-bot 的基本配置
from("telegram:bots?authorizationToken=123456789:insertYourAuthorizationTokenHere")
.bean(ChatBotLogic.class)
.to("telegram:bots?authorizationToken=123456789:insertYourAuthorizationTokenHere");
或在 Spring XML 中
<route>
<from uri="telegram:bots?authorizationToken=123456789:insertYourAuthorizationTokenHere"/>
<bean ref="chatBotLogic" />
<to uri="telegram:bots?authorizationToken=123456789:insertYourAuthorizationTokenHere"/>
<route>
<bean id="chatBotLogic" class="com.example.ChatBotLogic"/>
ChatBotLogic 是一个简单的 bean,它实现了一个通用的 String-to-String 方法。
public class ChatBotLogic {
public String chatBotProcess(String message) {
if( "do-not-reply".equals(message) ) {
return null; // no response in the chat
}
return "echo from the bot: " + message; // echoes the message
}
}
chatBotProcess 方法返回的每个非null 字符串都会自动路由到源自请求的聊天(因为 CamelTelegramChatId 标头用于路由消息)。