343.8. reactive Chat-Bot 예
reactive chat-bot 모드는 Camel 구성 요소를 사용하여 전보 사용자로부터 수신한 채팅 메시지에 직접 응답하는 간단한 채팅 봇을 구축하는 방법입니다.
다음은 Java DSL에서 chat-bot의 기본 구성입니다.
from("telegram:bots/123456789:insertYourAuthorizationTokenHere")
.bean(ChatBotLogic.class)
.to("telegram:bots/123456789:insertYourAuthorizationTokenHere");또는 Spring XML
<route>
<from uri="telegram:bots/123456789:insertYourAuthorizationTokenHere"/>
<bean ref="chatBotLogic" />
<to uri="telegram:bots/123456789:insertYourAuthorizationTokenHere"/>
<route>
<bean id="chatBotLogic" class="com.example.ChatBotLogic"/>
ChatBotLogic 은 일반적인 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 헤더는 메시지를 라우팅하는 데 사용됨).