JavaRush /Java Blog /Random-KO /Telegram Ability Bot: 대화를 수행할 수 있는 봇
Chundrik
레벨 35
Санкт-Петербург

Telegram Ability Bot: 대화를 수행할 수 있는 봇

Random-KO 그룹에 게시되었습니다
봇은 흥미로울 뿐만 아니라 유용합니다. 작업하는 동안 모든 기능을 자동화하기 위한 간단하지만 작동하는 프로젝트를 얻을 수 있으며 그 과정에서 람다, Git 및 Heroku에 익숙해질 수 있습니다. 봇을 만들 때 단순한 에코 봇보다 조금 더 복잡한 것을 만드는 방법에 대한 지침을 찾지 못했습니다. 나는 좀 더 합리적인 것을 원했습니다. 예를 들어 실제 대화를 수행할 수 있는 채널, 선택한 답변에 따라 개발이 변경되는 채널을 원했습니다. 2주 동안 진행된 프로젝트에 대해 말씀드리고, 마지막 단계에서 큰 어려움을 겪었기 때문에 Heroku 배포에 특히 주의하겠습니다. 텔레그램 능력 봇: 대화를 할 수 있는 봇 - 1

등록

시작하려면 봇을 등록하고 나중에 필요한 이름과 토큰을 받아야 합니다. 다행스럽게도 이는 어렵지 않습니다. Telegram을 열고 @BotFather를 찾아 /start를 입력하면 됩니다. 이에 대한 응답으로 명령 목록을 받게 됩니다. /newbot이 필요합니다. 이름을 지정한 다음 -bot으로 끝나야 하는 사용자 이름을 입력합니다(예: Consequences1Bot). 사용자 이름은 독창적이어야 하므로 여기서는 상상력을 발휘해야 합니다. 이에 대한 응답으로 BotFather는 즉시 저장하는 것이 가장 좋은 토큰을 보냅니다.

시작

Telegram Ability Bot: 대화를 수행할 수 있는 봇 - 2시작하려면 Maven 프로젝트, Java 8 및 Intelliji Idea Ultimate가 필요합니다. Insert pom.xml: Telegram Ability Bot: 대화를 수행할 수 있는 봇 - 3오른쪽 상단에 나타나는 Load Maven 변경사항 버튼을 클릭하는 것을 잊지 마세요. 또한 Java 8 이상을 사용하고 있는지 확인하세요. 이는 파일 --> 프로젝트 설정 --> 프로젝트에서 찾을 수 있습니다. 폴더에서 src.main.java봇 이름으로 하위 폴더를 만듭니다. 제 경우에는 package 입니다 example.TelegramBot. TelegramBot먼저 를 상속받는 클래스를 만듭니다 AbilityBot. Idea에서 빨간색으로 밑줄을 그으면 클래스 가져오기를 클릭합니다. AbilityBot에는 구현해야 하는 한 가지 방법이 있습니다 creatorId().

@Override
    public int creatorId() {
        return Constants.CREATOR_ID;
    }
또한 두 개의 생성자를 만들어야 합니다. 하나는 인수가 없고, 두 번째 생성자는 슈퍼클래스 생성자를 호출합니다.

public TelegramBot() {
        this(Constants.BOT_TOKEN, Constants.BOT_USERNAME);
    }
    private TelegramBot(String botToken, String botUsername) {
        super(botToken, botUsername);
    }
Constans자연스럽게 빨간색으로 변합니다. 이 인터페이스를 만들어야 합니다. 문자열과 ID 번호를 저장합니다. 물론 귀찮게 메인 문서에 모든 것을 남겨둘 필요는 없지만 이렇게 하면 훨씬 더 명확해질 것입니다. 그럼 인터페이스를 만들어 보겠습니다 Constans. String BOT_TOKEN첫 번째 변수는 (BotFather가 보낸 토큰) String BOT_USERNAME및 입니다 int CREATOR_ID. 추가 보안을 위해 제작자 ID가 필요합니다. 잠시 후에 찾을 수 있습니다.

시작하다

봇을 초기화하는 데 필요한 코드가 포함된 Application메서드를 포함할 클래스를 만듭니다 .main()Telegram Ability Bot: 대화를 수행할 수 있는 봇 - 4

public class Application {

    public static void main(String[] args) {
        // Initializes dependencies necessary for the base bot
        ApiContextInitializer.init();

        // Create the TelegramBotsApi object to register your bots
        TelegramBotsApi botsApi = new TelegramBotsApi();

        try {
            // Register your newly created AbilityBot
            FitnessBot bot = new FitnessBot();
            botsApi.registerBot(bot);

        } catch (TelegramApiException e) {
            e.printStackTrace();
        }
    }
}
이제 기본 메서드에서 봇을 시작할 수 있지만 어떤 작업도 수행하지 않습니다. 침묵만이 당신의 대답이 될 것입니다. 다음편에서는 이를 변경하는 방법에 대해 설명하겠습니다. 2 부
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION