JavaRush /Blog Java /Random-FR /Telegram Ability Bot : un bot capable de dialoguer
Chundrik
Niveau 35
Санкт-Петербург

Telegram Ability Bot : un bot capable de dialoguer

Publié dans le groupe Random-FR
Les robots sont non seulement intéressants, mais aussi utiles. En travaillant dessus, vous pourrez obtenir un projet simple mais fonctionnel pour automatiser toutes les fonctions et, en cours de route, vous familiariser avec lambdas, Git et Heroku. Lorsque j'ai créé le bot, je n'ai pas trouvé d'instructions sur la façon de créer quelque chose d'un peu plus complexe qu'un simple robot d'écho. Je voulais quelque chose de plus raisonnable : par exemple, une chaîne qui puisse mener un vrai dialogue, dont le déroulement changerait en fonction de la réponse choisie. Je parlerai de mon projet, qui m'a pris deux semaines, et je porterai une attention particulière au déploiement sur Heroku, car j'ai rencontré de grosses difficultés au stade final. Telegram Ability Bot : un bot capable de dialoguer - 1

Inscription

Pour commencer, vous devez enregistrer le bot, en recevant un nom et un jeton, dont nous aurons besoin plus tard. Heureusement, ce n'est pas difficile : ouvrez simplement Telegram, recherchez @BotFather et entrez /start. En réponse, vous recevrez une liste de commandes - nous avons besoin de /newbot. Nous trouvons un nom, puis un nom d'utilisateur, qui doit se terminer par -bot, par exemple Consequences1Bot. Le nom d'utilisateur doit être original, vous devrez donc faire preuve d'imagination ici. En réponse, BotFather enverra un jeton, qu'il est préférable de sauvegarder immédiatement.

Commencer

Telegram Ability Bot : un bot capable de dialoguer - 2Pour commencer, nous aurons besoin d'un projet Maven, Java 8 et Intelliji Idea Ultimate. Insérer pom.xml: Telegram Ability Bot : un bot capable de dialoguer - 3N'oubliez pas de cliquer sur le bouton Charger les modifications Maven, qui apparaîtra dans le coin supérieur droit. Assurez-vous également que vous utilisez Java 8 ou supérieur, cela peut être trouvé dans Fichier --> Paramètres du projet --> Projet. Dans le dossier src.main.java, créez un sous-dossier avec le nom de votre bot, pour moi c'est un package example.TelegramBot. Nous créons d’abord une classe TelegramBotqui hérite de AbilityBot. Si Idea le souligne en rouge (et c’est le cas), cliquez sur Importer la classe. AbilityBot a une méthode qui doit être implémentée - creatorId().
@Override
    public int creatorId() {
        return Constants.CREATOR_ID;
    }
Nous devons également créer deux constructeurs : un sans arguments, et en utilisant le second, nous appelons le constructeur de superclasse :
public TelegramBot() {
        this(Constants.BOT_TOKEN, Constants.BOT_USERNAME);
    }
    private TelegramBot(String botToken, String botUsername) {
        super(botToken, botUsername);
    }
Constansdevient naturellement rouge - cette interface doit être créée. Il stockera les chaînes et le numéro d'identification. Bien sûr, vous n’avez pas besoin de tout laisser dans le document principal, mais ce sera beaucoup plus clair de cette façon. Alors, créons une interface Constans. Les premières variables seront String BOT_TOKEN(le jeton envoyé par BotFather) String BOT_USERNAMEet int CREATOR_ID. L'ID de créateur est nécessaire pour plus de sécurité - vous pourrez le retrouver un peu plus tard.

Lancement

Créez une classe Applicationqui contiendra une méthode main()avec le code nécessaire pour initialiser le bot.Telegram Ability Bot : un bot capable de dialoguer - 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();
        }
    }
}
Vous pouvez maintenant lancer le bot à partir de la méthode principale, mais il n'effectuera aucune action. Seul le silence sera votre réponse. Dans la partie suivante, je décrirai comment changer cela. PARTIE 2
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION