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 헤더는 메시지를 라우팅하는 데 사용됨).