JavaRush /Java Blog /Random-TL /Telegram Ability Bot: isang bot na maaaring magsagawa ng ...
Chundrik
Antas
Санкт-Петербург

Telegram Ability Bot: isang bot na maaaring magsagawa ng dialogue

Nai-publish sa grupo
Ang mga bot ay hindi lamang kawili-wili, ngunit kapaki-pakinabang din. Habang ginagawa ang mga ito, makakakuha ka ng isang simple ngunit gumaganang proyekto para sa pag-automate ng anumang mga function at, kasama ang paraan, makilala ang mga lambdas, Git at Heroku. Noong ginawa ko ang bot, wala akong nakitang mga tagubilin sa kung paano gumawa ng kahit ano kahit na medyo mas kumplikado kaysa sa isang simpleng echo bot. Gusto ko ng isang bagay na mas makatwiran: halimbawa, isang channel na maaaring magsagawa ng isang tunay na diyalogo, ang pagbuo nito ay magbabago depende sa napiling sagot. Magsasalita ako tungkol sa aking proyekto, na inabot sa akin ng dalawang linggo, at bibigyan ko ng espesyal na pansin ang pag-deploy sa Heroku, dahil nakatagpo ako ng mga malalaking paghihirap sa huling yugto. Telegram Ability Bot: isang bot na maaaring magsagawa ng dialogue - 1

Pagpaparehistro

Upang makapagsimula, kailangan mong irehistro ang bot, pagtanggap ng isang pangalan at isang token, na kakailanganin namin sa ibang pagkakataon. Sa kabutihang palad, hindi ito mahirap: buksan lamang ang Telegram, hanapin ang @BotFather at ipasok ang /start. Bilang tugon, makakatanggap ka ng isang listahan ng mga command - kailangan namin /newbot. Nakabuo kami ng isang pangalan, at pagkatapos ay isang username, na dapat magtapos sa -bot, halimbawa, Consequences1Bot. Ang username ay dapat na orihinal, kaya kailangan mong gamitin ang iyong imahinasyon dito. Bilang tugon, magpapadala si BotFather ng token, na pinakamainam na mai-save kaagad.

Magsimula

Telegram Ability Bot: isang bot na maaaring magsagawa ng dialogue - 2Upang makapagsimula, kakailanganin namin ng proyekto ng Maven, Java 8 at Intelliji Idea Ultimate. Ipasok pom.xml: Telegram Ability Bot: isang bot na maaaring magsagawa ng dialogue - 3Huwag kalimutang i-click ang Load Maven changes button, na lalabas sa kanang sulok sa itaas. Tiyakin din na gumagamit ka ng Java 8 o mas mataas, ito ay matatagpuan sa File -> Mga setting ng proyekto -> Project. Sa folder src.main.java, gumawa ng subfolder na may pangalan ng iyong bot, para sa akin ito ay isang package example.TelegramBot. Una, lumikha kami ng isang klase TelegramBotna nagmamana AbilityBot. Kung salungguhitan ito ng Ideya ng pula (at ginagawa nito), i-click ang Import class. May isang paraan ang AbilityBot na kailangang ipatupad - creatorId().
@Override
    public int creatorId() {
        return Constants.CREATOR_ID;
    }
Kailangan din nating lumikha ng dalawang konstruktor: ang isa ay walang mga argumento, at gamit ang pangalawa na tinatawag nating superclass constructor:
public TelegramBot() {
        this(Constants.BOT_TOKEN, Constants.BOT_USERNAME);
    }
    private TelegramBot(String botToken, String botUsername) {
        super(botToken, botUsername);
    }
Constansnatural na nagiging pula - kailangang gawin ang interface na ito. Iimbak nito ang mga string at ang ID number. Siyempre, hindi mo kailangang mag-abala at iwanan ang lahat sa pangunahing dokumento, ngunit ito ay magiging mas malinaw sa ganitong paraan. Kaya, gumawa tayo ng interface Constans. Ang mga unang variable ay String BOT_TOKEN(ang token na ipinadala ng BotFather), String BOT_USERNAMEat int CREATOR_ID. Ang creator ID ay kailangan para sa karagdagang seguridad - mahahanap mo ito sa ibang pagkakataon.

Ilunsad

Lumikha ng isang klase Applicationna maglalaman ng isang pamamaraan main()na may code na kinakailangan upang masimulan ang bot.Telegram Ability Bot: isang bot na maaaring magsagawa ng dialogue - 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();
        }
    }
}
Ngayon ay maaari mong ilunsad ang bot mula sa pangunahing pamamaraan, ngunit hindi ito gagawa ng anumang mga aksyon. Katahimikan lang ang magiging sagot mo. Sa susunod na bahagi ay ilalarawan ko kung paano baguhin ito. BAHAGI 2
Mga komento
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION