JavaRush /Blog Java /Random-MS /Bot Keupayaan Telegram: bot yang boleh menjalankan dialog...
Chundrik
Tahap
Санкт-Петербург

Bot Keupayaan Telegram: bot yang boleh menjalankan dialog

Diterbitkan dalam kumpulan
Bot bukan sahaja menarik, tetapi juga berguna. Semasa mengerjakannya, anda akan mendapat projek yang ringkas tetapi berfungsi untuk mengautomasikan sebarang fungsi dan, sepanjang perjalanan, berkenalan dengan lambdas, Git dan Heroku. Apabila saya membuat bot, saya tidak menemui arahan tentang cara membuat apa-apa walaupun lebih kompleks sedikit daripada bot gema yang ringkas. Saya mahukan sesuatu yang lebih munasabah: sebagai contoh, saluran yang boleh menjalankan dialog sebenar, perkembangannya akan berubah bergantung pada jawapan yang dipilih. Saya akan bercakap tentang projek saya, yang mengambil masa dua minggu, dan saya akan memberi perhatian khusus kepada penempatan pada Heroku, kerana saya menghadapi kesukaran besar pada peringkat akhir. Bot Keupayaan Telegram: bot yang boleh menjalankan dialog - 1

Pendaftaran

Untuk bermula, anda perlu mendaftarkan bot, menerima nama dan token, yang kami perlukan kemudian. Nasib baik, ini tidak sukar: hanya buka Telegram, cari @BotFather dan masukkan /mulakan. Sebagai tindak balas, anda akan menerima senarai arahan - kami perlukan /newbot. Kami menghasilkan nama, dan kemudian nama pengguna, yang sepatutnya berakhir dengan -bot, sebagai contoh, Consequences1Bot. Nama pengguna mestilah asli, jadi anda perlu menggunakan imaginasi anda di sini. Sebagai tindak balas, BotFather akan menghantar token, yang paling baik disimpan dengan segera.

Mulakan

Bot Keupayaan Telegram: bot yang boleh menjalankan dialog - 2Untuk bermula, kami memerlukan projek Maven, Java 8 dan Intelliji Idea Ultimate. Sisipkan pom.xml: Bot Keupayaan Telegram: bot yang boleh menjalankan dialog - 3Jangan lupa klik butang Muatkan perubahan Maven, yang akan muncul di penjuru kanan sebelah atas. Juga pastikan anda menggunakan Java 8 atau lebih tinggi, ini boleh didapati dalam Fail --> Tetapan projek --> Projek. Dalam folder src.main.java, buat subfolder dengan nama bot anda, bagi saya ia adalah pakej example.TelegramBot. Mula-mula kita buat kelas TelegramBotyang mewarisi AbilityBot. Jika Idea menggariskan idea itu dengan warna merah (dan sebaliknya), klik Import kelas. AbilityBot mempunyai satu kaedah yang perlu dilaksanakan - creatorId().
@Override
    public int creatorId() {
        return Constants.CREATOR_ID;
    }
Kita juga perlu mencipta dua pembina: satu tanpa hujah, dan menggunakan yang kedua kita panggil pembina superclass:
public TelegramBot() {
        this(Constants.BOT_TOKEN, Constants.BOT_USERNAME);
    }
    private TelegramBot(String botToken, String botUsername) {
        super(botToken, botUsername);
    }
Constanssecara semula jadi menjadi merah - antara muka ini perlu dibuat. Ia akan menyimpan rentetan dan nombor ID. Sudah tentu, anda tidak perlu bersusah payah dan meninggalkan segala-galanya dalam dokumen utama, tetapi ia akan menjadi lebih jelas dengan cara ini. Jadi, mari buat antara muka Constans. Pembolehubah pertama ialah String BOT_TOKEN(token yang BotFather hantar), String BOT_USERNAMEdan int CREATOR_ID. ID pencipta diperlukan untuk keselamatan tambahan - anda boleh menemuinya sedikit kemudian.

Pelancaran

Buat kelas Applicationyang akan mengandungi kaedah main()dengan kod yang diperlukan untuk memulakan bot.Bot Keupayaan Telegram: bot yang boleh menjalankan dialog - 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();
        }
    }
}
Kini anda boleh melancarkan bot dari kaedah utama, tetapi ia tidak akan melakukan sebarang tindakan. Hanya diam akan menjadi jawapan anda. Dalam bahagian seterusnya saya akan menerangkan bagaimana untuk mengubah ini. BAHAGIAN 2
Komen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION