JavaRush /จาวาบล็อก /Random-TH /บอทความสามารถโทรเลข: บอทที่สามารถทำการสนทนาได้
Chundrik
ระดับ
Санкт-Петербург

บอทความสามารถโทรเลข: บอทที่สามารถทำการสนทนาได้

เผยแพร่ในกลุ่ม
บอทไม่เพียงแต่น่าสนใจ แต่ยังมีประโยชน์อีกด้วย ในขณะที่ทำงานนี้ คุณจะได้รับโปรเจ็กต์ที่เรียบง่ายแต่ใช้งานได้จริงสำหรับการทำงานอัตโนมัติของฟังก์ชันต่างๆ และทำความคุ้นเคยกับ lambdas, Git และ Heroku ตลอดทาง ตอนที่ฉันสร้างบอท ฉันไม่พบคำแนะนำเกี่ยวกับวิธีการสร้างสิ่งใดที่ซับซ้อนกว่า echo bot ธรรมดาเลยแม้แต่น้อย ฉันต้องการบางสิ่งที่สมเหตุสมผลกว่านี้: ตัวอย่างเช่น ช่องทางที่สามารถดำเนินการสนทนาจริงได้ ซึ่งการพัฒนาจะเปลี่ยนไปตามคำตอบที่เลือก ฉันจะพูดคุยเกี่ยวกับโครงการของฉัน ซึ่งใช้เวลาสองสัปดาห์ และฉันจะให้ความสนใจเป็นพิเศษกับการติดตั้ง Heroku เนื่องจากฉันพบกับความยากลำบากอย่างมากในขั้นตอนสุดท้าย บอทความสามารถโทรเลข: บอทที่สามารถทำการสนทนาได้ - 1

การลงทะเบียน

ในการเริ่มต้น คุณต้องลงทะเบียนบอท โดยรับชื่อและโทเค็น ซึ่งเราจะต้องใช้ในภายหลัง โชคดีที่นี่ไม่ใช่เรื่องยาก เพียงเปิด Telegram ค้นหา @BotFather แล้วป้อน /start เพื่อเป็นการตอบสนอง คุณจะได้รับรายการคำสั่ง - เราต้องการ /newbot เราตั้งชื่อแล้วตามด้วยชื่อผู้ใช้ ซึ่งควรลงท้ายด้วย -bot เช่น Consequences1Bot ชื่อผู้ใช้จะต้องเป็นต้นฉบับ ดังนั้นคุณจะต้องใช้จินตนาการของคุณที่นี่ เพื่อเป็นการตอบกลับ BotFather จะส่งโทเค็นซึ่งจะดีที่สุดในการบันทึกทันที

เริ่ม

บอทความสามารถโทรเลข: บอทที่สามารถทำการสนทนาได้ - 2ในการเริ่มต้น เราจะต้องมีโปรเจ็กต์ Maven, Java 8 และ Intelliji Idea Ultimate Insert pom.xml: บอทความสามารถโทรเลข: บอทที่สามารถทำการสนทนาได้ - 3อย่าลืมคลิกปุ่มโหลดการเปลี่ยนแปลง Maven ซึ่งจะปรากฏที่มุมขวาบน ตรวจสอบให้แน่ใจว่าคุณใช้ Java 8 หรือสูงกว่า ซึ่งสามารถพบได้ในไฟล์ -> การตั้งค่าโครงการ -> โครงการ ในโฟลเดอร์src.main.javaให้สร้างโฟลเดอร์ย่อยด้วยชื่อบอทของคุณ สำหรับฉันมันคือexample.TelegramBotแพ็คเกจ ขั้นแรกเราสร้างคลาสTelegramBotที่สืบทอดAbilityBot. หาก Idea ขีดเส้นใต้ด้วยสีแดง (และเป็นเช่นนั้น) ให้คลิกนำเข้าคลาส abilityBot มีวิธีหนึ่งที่ต้องนำไปใช้ - creatorId().
@Override
    public int creatorId() {
        return Constants.CREATOR_ID;
    }
นอกจากนี้เรายังจำเป็นต้องสร้างตัวสร้างสองตัว: ตัวหนึ่งไม่มีอาร์กิวเมนต์ และใช้ตัวที่สองที่เราเรียกว่าตัวสร้างคลาสพิเศษ:
public TelegramBot() {
        this(Constants.BOT_TOKEN, Constants.BOT_USERNAME);
    }
    private TelegramBot(String botToken, String botUsername) {
        super(botToken, botUsername);
    }
Constansเปลี่ยนเป็นสีแดงตามธรรมชาติ - ต้องสร้างอินเทอร์เฟซนี้ มันจะเก็บสตริงและหมายเลขประจำตัว แน่นอนว่าคุณไม่จำเป็นต้องกังวลและทิ้งทุกอย่างไว้ในเอกสารหลัก แต่วิธีนี้จะชัดเจนกว่ามาก เรามาสร้างอินเทอร์เฟซกันดีConstansกว่า ตัวแปรแรกจะเป็นString BOT_TOKEN(โทเค็นที่ BotFather ส่ง) String BOT_USERNAMEและ int CREATOR_IDจำเป็นต้องมี ID ผู้สร้างเพื่อความปลอดภัยเพิ่มเติม - คุณสามารถค้นหาได้ในภายหลัง

ปล่อย

สร้างคลาสApplicationที่จะมีเมธอดmain()พร้อมโค้ดที่จำเป็นในการเริ่มต้นบอทบอทความสามารถโทรเลข: บอทที่สามารถทำการสนทนาได้ - 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();
        }
    }
}
ตอนนี้คุณสามารถเปิดบอทได้จากวิธีการหลัก แต่จะไม่ดำเนินการใดๆ ความเงียบเท่านั้นที่จะเป็นคำตอบของคุณ ในส่วนถัดไป ผมจะอธิบายวิธีการเปลี่ยนแปลงนี้ ส่วนที่ 2
ความคิดเห็น
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION