JavaRush /Java Blog /Random-IT /Telegram Ability Bot: un bot in grado di condurre un dial...
Chundrik
Livello 35
Санкт-Петербург

Telegram Ability Bot: un bot in grado di condurre un dialogo

Pubblicato nel gruppo Random-IT
I robot non sono solo interessanti, ma anche utili. Mentre lavori su di essi, sarai in grado di ottenere un progetto semplice ma funzionante per automatizzare qualsiasi funzione e, lungo il percorso, familiarizzare con lambda, Git e Heroku. Quando ho realizzato il bot, non ho trovato istruzioni su come realizzare qualcosa di più complesso di un semplice bot echo. Volevo qualcosa di più ragionevole: ad esempio un canale che potesse condurre un vero dialogo, il cui sviluppo cambiasse a seconda della risposta scelta. Parlerò del mio progetto, che mi ha richiesto due settimane, e presterò particolare attenzione all'implementazione su Heroku, poiché ho incontrato grandi difficoltà nella fase finale. Telegram Ability Bot: un bot in grado di condurre un dialogo - 1

Registrazione

Per iniziare è necessario registrare il bot, ricevendo un nome e un token, di cui avremo bisogno in seguito. Fortunatamente non è difficile: basta aprire Telegram, trovare @BotFather e inserire /start. In risposta, riceverai un elenco di comandi: abbiamo bisogno di /newbot. Troviamo un nome e quindi un nome utente, che dovrebbe terminare con -bot, ad esempio Consequences1Bot. Il nome utente deve essere originale, quindi dovrai usare la tua immaginazione qui. In risposta, BotFather invierà un token, che è meglio salvare immediatamente.

Inizio

Telegram Ability Bot: un bot in grado di condurre un dialogo - 2Per iniziare, avremo bisogno di un progetto Maven, Java 8 e Intelliji Idea Ultimate. Inserisci pom.xml: Telegram Ability Bot: un bot in grado di condurre un dialogo - 3non dimenticare di fare clic sul pulsante Carica modifiche Maven, che apparirà nell'angolo in alto a destra. Assicurati inoltre di utilizzare Java 8 o versione successiva, disponibile in File --> Impostazioni progetto --> Progetto. Nella cartella src.main.javacrea una sottocartella con il nome del tuo bot, per me è un pacchetto example.TelegramBot. Per prima cosa creiamo una classe TelegramBotche eredita AbilityBot. Se Idea lo sottolinea in rosso (e lo fa), fai clic su Importa classe. AbilityBot ha un metodo che deve essere implementato: creatorId().
@Override
    public int creatorId() {
        return Constants.CREATOR_ID;
    }
Dobbiamo anche creare due costruttori: uno senza argomenti e utilizzando il secondo chiamiamo il costruttore della superclasse:
public TelegramBot() {
        this(Constants.BOT_TOKEN, Constants.BOT_USERNAME);
    }
    private TelegramBot(String botToken, String botUsername) {
        super(botToken, botUsername);
    }
Constansdiventa naturalmente rosso: questa interfaccia deve essere creata. Memorizzerà le stringhe e il numero ID. Naturalmente non devi preoccuparti di lasciare tutto nel documento principale, ma in questo modo sarà molto più chiaro. Quindi, creiamo un'interfaccia Constans. Le prime variabili saranno String BOT_TOKEN(il token inviato da BotFather) String BOT_USERNAMEe int CREATOR_ID. L'ID creatore è necessario per maggiore sicurezza: potrai trovarlo più tardi.

Lancio

Crea una classe Applicationche conterrà un metodo main()con il codice necessario per inizializzare il bot.Telegram Ability Bot: un bot in grado di condurre un dialogo - 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();
        }
    }
}
Ora puoi avviare il bot dal metodo principale, ma non eseguirà alcuna azione. Solo il silenzio sarà la tua risposta. Nella parte successiva descriverò come modificarlo. PARTE 2
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION