JavaRush /Java Blog /Random-ID /Bot Kemampuan Telegram : bot yang dapat melakukan dialog
Chundrik
Level 35
Санкт-Петербург

Bot Kemampuan Telegram : bot yang dapat melakukan dialog

Dipublikasikan di grup Random-ID
Bot tidak hanya menarik, tapi juga bermanfaat. Saat mengerjakannya, Anda akan bisa mendapatkan proyek sederhana namun berfungsi untuk mengotomatisasi fungsi apa pun dan, sepanjang prosesnya, mengenal lambda, Git, dan Heroku. Saat saya membuat bot, saya tidak menemukan petunjuk tentang cara membuat sesuatu yang sedikit lebih rumit daripada bot gema sederhana. Saya menginginkan sesuatu yang lebih masuk akal: misalnya, saluran yang dapat melakukan dialog nyata, yang perkembangannya akan berubah tergantung jawaban yang dipilih. Saya akan berbicara tentang proyek saya, yang memakan waktu dua minggu, dan saya akan memberikan perhatian khusus pada penerapan di Heroku, karena saya menemui kesulitan besar pada tahap akhir. Telegram Kemampuan Bot : bot yang dapat melakukan dialog - 1

Registrasi

Untuk memulai, Anda perlu mendaftarkan bot, menerima nama dan token, yang nantinya akan kita perlukan. Untungnya, ini tidak sulit: cukup buka Telegram, temukan @Botfather dan masukkan /start. Sebagai tanggapan, Anda akan menerima daftar perintah - kita memerlukan /newbot. Kami membuat nama, lalu nama pengguna, yang harus diakhiri dengan -bot, misalnya Consequences1Bot. Nama pengguna harus asli, jadi Anda harus menggunakan imajinasi Anda di sini. Sebagai tanggapan, Botfather akan mengirimkan token, yang sebaiknya segera disimpan.

Awal

Telegram Kemampuan Bot : bot yang dapat melakukan dialog - 2Untuk memulai, kita memerlukan proyek Maven, Java 8, dan Intelliji Idea Ultimate. Sisipkan pom.xml: Telegram Kemampuan Bot : bot yang dapat melakukan dialog - 3Jangan lupa klik tombol Muat perubahan Maven yang akan muncul di pojok kanan atas. Pastikan juga Anda menggunakan Java 8 atau lebih tinggi, ini dapat ditemukan di File --> Pengaturan proyek --> Proyek. Di folder tersebut src.main.java, buat subfolder dengan nama bot Anda, bagi saya itu adalah paket example.TelegramBot. Pertama kita membuat kelas TelegramBotyang mewarisi AbilityBot. Jika Idea menggarisbawahinya dengan warna merah (dan memang demikian), klik Impor kelas. KemampuanBot memiliki satu metode yang perlu diterapkan - creatorId().
@Override
    public int creatorId() {
        return Constants.CREATOR_ID;
    }
Kita juga perlu membuat dua konstruktor: satu tanpa argumen, dan menggunakan konstruktor kedua kita memanggil konstruktor superclass:
public TelegramBot() {
        this(Constants.BOT_TOKEN, Constants.BOT_USERNAME);
    }
    private TelegramBot(String botToken, String botUsername) {
        super(botToken, botUsername);
    }
Constanssecara alami berubah menjadi merah - antarmuka ini harus dibuat. Ini akan menyimpan string dan nomor ID. Tentu saja Anda tidak perlu repot dan meninggalkan semua yang ada di dokumen utama, namun akan jauh lebih jelas dengan cara ini. Jadi, mari kita buat antarmuka Constans. Variabel pertama adalah String BOT_TOKEN(token yang dikirimkan Botfather), String BOT_USERNAMEdan int CREATOR_ID. ID pembuat diperlukan untuk keamanan tambahan - Anda dapat menemukannya nanti.

Meluncurkan

Buat kelas Applicationyang berisi metode main()dengan kode yang diperlukan untuk menginisialisasi bot.Telegram Kemampuan Bot : bot yang dapat melakukan 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();
        }
    }
}
Sekarang Anda dapat meluncurkan bot dari metode utama, tetapi bot tidak akan melakukan tindakan apa pun. Hanya keheningan yang akan menjadi jawabanmu. Di bagian selanjutnya saya akan menjelaskan cara mengubahnya. BAGIAN 2
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION