JavaRush /Blog Java /Random-VI /Telegram Khả năng Bot: một bot có thể tiến hành một cuộc ...
Chundrik
Mức độ
Санкт-Петербург

Telegram Khả năng Bot: một bot có thể tiến hành một cuộc đối thoại

Xuất bản trong nhóm
Bot không chỉ thú vị mà còn hữu ích. Trong khi làm việc với chúng, bạn sẽ có thể có được một dự án đơn giản nhưng hiệu quả để tự động hóa bất kỳ chức năng nào và đồng thời làm quen với lambdas, Git và Heroku. Khi tôi tạo bot, tôi không tìm thấy hướng dẫn về cách tạo bất cứ thứ gì phức tạp hơn một chút so với echo bot đơn giản. Tôi muốn thứ gì đó hợp lý hơn: ví dụ: một kênh có thể tiến hành một cuộc đối thoại thực sự, sự phát triển của kênh này sẽ thay đổi tùy thuộc vào câu trả lời đã chọn. Tôi sẽ nói về dự án mà tôi đã mất hai tuần và tôi sẽ đặc biệt chú ý đến việc triển khai trên Heroku, vì tôi đã gặp phải những khó khăn lớn ở giai đoạn cuối. Telegram Khả năng Bot: một bot có thể thực hiện một cuộc đối thoại - 1

Sự đăng ký

Để bắt đầu, bạn cần đăng ký bot, nhận tên và mã thông báo mà chúng tôi sẽ cần sau này. May mắn thay, điều này không khó: chỉ cần mở Telegram, tìm @BotFather và nhập /start. Đáp lại, bạn sẽ nhận được danh sách các lệnh - chúng tôi cần /newbot. Chúng tôi nghĩ ra một cái tên, sau đó là một tên người dùng, tên này sẽ kết thúc bằng -bot, ví dụ: Consequences1Bot. Tên người dùng phải là tên gốc, vì vậy bạn sẽ phải sử dụng trí tưởng tượng của mình ở đây. Đáp lại, BotFather sẽ gửi mã thông báo, tốt nhất nên lưu mã thông báo này ngay lập tức.

Bắt đầu

Telegram Khả năng Bot: một bot có thể thực hiện một cuộc đối thoại - 2Để bắt đầu, chúng ta sẽ cần một dự án Maven, Java 8 và Intelliji Idea Ultimate. Chèn pom.xml: Telegram Khả năng Bot: một bot có thể thực hiện một cuộc đối thoại - 3Đừng quên nhấp vào nút Tải thay đổi của Maven, nút này sẽ xuất hiện ở góc trên bên phải. Ngoài ra, hãy đảm bảo rằng bạn đang sử dụng Java 8 trở lên, bạn có thể tìm thấy điều này trong Tệp -> Cài đặt dự án -> Dự án. Trong thư mục src.main.java, hãy tạo một thư mục con có tên bot của bạn, đối với tôi đó là một gói example.TelegramBot. Đầu tiên chúng ta tạo một lớp TelegramBotkế thừa AbilityBot. Nếu Idea gạch chân nó bằng màu đỏ (và đúng như vậy), hãy nhấp vào Nhập lớp. Khả năngBot có một phương pháp cần được triển khai - creatorId().
@Override
    public int creatorId() {
        return Constants.CREATOR_ID;
    }
Chúng ta cũng cần tạo hai hàm tạo: một hàm không có đối số và sử dụng hàm tạo thứ hai, chúng ta gọi hàm tạo siêu lớp:
public TelegramBot() {
        this(Constants.BOT_TOKEN, Constants.BOT_USERNAME);
    }
    private TelegramBot(String botToken, String botUsername) {
        super(botToken, botUsername);
    }
Constanstự nhiên chuyển sang màu đỏ - giao diện này phải được tạo. Nó sẽ lưu trữ các chuỗi và số ID. Tất nhiên, bạn không cần phải bận tâm và để lại mọi thứ trong tài liệu chính, nhưng cách này sẽ rõ ràng hơn nhiều. Vì vậy, hãy tạo một giao diện Constans. Các biến đầu tiên sẽ là String BOT_TOKEN(mã thông báo mà BotFather đã gửi) String BOT_USERNAMEint CREATOR_ID. Cần có ID người sáng tạo để tăng cường bảo mật - bạn có thể tìm thấy nó sau.

Phóng

Tạo một lớp Applicationsẽ chứa một phương thức main()có mã cần thiết để khởi tạo bot.Telegram Khả năng Bot: một bot có thể thực hiện một cuộc đối thoại - 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();
        }
    }
}
Bây giờ bạn có thể khởi chạy bot từ phương thức chính, nhưng nó sẽ không thực hiện bất kỳ hành động nào. Chỉ có sự im lặng mới là câu trả lời của bạn. Trong phần tiếp theo tôi sẽ mô tả cách thay đổi điều này. PHẦN 2
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION