JavaRush /جاوا بلاگ /Random-SD /پروجيڪٽ ۾ ٽيليگرام بوٽ شامل ڪرڻ - "جاوا پروجيڪٽ A کان Z ت...

پروجيڪٽ ۾ ٽيليگرام بوٽ شامل ڪرڻ - "جاوا پروجيڪٽ A کان Z تائين"

گروپ ۾ شايع ٿيل
سلام، منهنجا پيارا دوست. ها، ها، بلڪل دوستو. آئون اڳي ئي آرٽيڪل جي هن سلسلي سان ايترو واقف ٿي چڪو آهيان ته اهي ماڻهو جيڪي باقاعده تبصرن ۾ پنهنجو شڪرگذار لکندا آهن ۽/يا ڏيکاريندا آهن ته انهن مواد کي پڙهيو ۽ سمجهي ورتو آهي، اڳ ۾ ئي ويجهو ٿي چڪا آهن. تون ۽ مان ٻن طرفن کان هڪ ئي مقصد ڏانهن وڌي رهيا آهيون. توهان سمجهڻ چاهيو ٿا، پر مان وضاحت ڪرڻ چاهيان ٿو. ۽ اسان وٽ هڪ ئي آخري مقصد آهي - هڪ لکت واري درخواست جيڪا توهان کي شروع کان آخر تائين سمجهي سگهجي ٿي. توهان شايد اڳ ۾ ئي ٻڌو آهي گهڻو ڪجهه جيڪو آئون هن مضمون ۾ بيان ڪندس. مان نه ٿو سمجهان ته مان توهان کي ڪا نئين ۽ غير معمولي ڳالهه ٻڌايان (پر پروجيڪٽ جي فريم ورڪ ۾ اهو ضروري آهي ته اهو ڄاڻڻ / ورجائي). "جاوا پروجيڪٽ A کان Z تائين": پروجيڪٽ ۾ ٽيليگرام بوٽ شامل ڪرڻ - 1بهار ۾ مون پنهنجي لاءِ هڪ بوٽ لکيو، تنهنڪري اسان ان جي ”نمونين“ تي ڀروسو ڪنداسين.

اسان لکون ٿا JRTB-2

اسان اهو ئي ڪنداسين جيئن اسان آرٽيڪل ۾ ڪيو JRTB-0 ٽاسڪ سان :
  1. اسان ctrl + t ميلاپ استعمال ڪندي مقامي پروجيڪٽ ۾ مکيه شاخ کي اپڊيٽ ڪيو ."جاوا پروجيڪٽ A کان Z تائين": پروجيڪٽ ۾ ٽيليگرام بوٽ شامل ڪرڻ - 2
  2. مکيه شاخ جي بنياد تي، اسان ٺاهيندا آهيون:"جاوا پروجيڪٽ A کان Z تائين": پروجيڪٽ ۾ ٽيليگرام بوٽ شامل ڪرڻ - 3
  3. بوٽ شامل ڪريو.
  4. اسان هڪ نئين وابستگي ٺاهيندا آهيون وضاحت سان جيڪو ڪيو ويو آهي ۽ ان کي دٻايو GitHub.
  5. مکيه شاخ لاء پل درخواست ٺاهيو ۽ ان کي ٻيهر چيڪ ڪريو. اسان انتظار ڪري رهيا آهيون تعمير جي ذريعي وڃڻ لاء (گٿب ڪارناما)، ان کي مکيه شاخ ۾ ضم ڪريو.
  6. لاڳاپيل ڪم کي بند ڪريو.

ٽيليگرام بوٽ ڇا آهي

اسان، ڊولپرز، تصور ڪري سگھون ٿا ٽيليگرام بوٽ سان ڪم ڪرڻ جهڙو: اسان انهن جي ڪلائنٽ کي انهن سان ڪم ڪرڻ لاءِ استعمال ڪندا آهيون. اسان وٽ ڪم لاءِ تيار ڪيل لائبريري آهي. عملن جو هڪ سيٽ آهي جنهن کان پوءِ ٽيليگرام بوٽ کي معلوم ٿيندو ته اهو اسان جي پروگرام سان لاڳاپيل آهي. ۽ اڳ ۾ ئي پروگرام جي اندر، اسان سکندا سين ته ڪيئن خط، حڪم حاصل ڪرڻ ۽ ڪنهن به طريقي سان انهن کي پروسيس ڪيو وڃي. ٽيليگرام بوٽن ۾ هڪ حڪم وانگر هڪ شيء آهي : اهو هڪ سليش سان شروع ٿئي ٿو "/". ان کان پوء، اسان فوري طور تي لفظ گڏ لکندا آهيون، ۽ اهو هڪ حڪم سمجهيو ويندو. مثال طور، اتي ٻه حڪم آهن ته هرڪو ڄاڻڻ گهرجي:
  • /start - بوٽ سان ڪم ڪرڻ شروع ڪريو؛
  • / اسٽاپ - بوٽ سان ڪم ختم ڪريو.
باقي پاڻ ڪنداسين. مون کي فوري طور تي هڪ رزرويشن ڪرڻ ڏيو: اسان اهو ڪنداسين جيڪو ۽ طريقي سان مون سکيو آهي. ۽ جڏهن هڪ بوٽ سان ڪم ڪندي، مون کي پڪ آهي ته اهو بهتر ڪرڻ ممڪن ٿيندو. ۽ جيڪڏهن ڪو اهڙو ڪم ڪرڻ چاهي ته مان صرف خوش ٿيندس ۽ ان ڪوشش جي هر ممڪن مدد ڪندس. رستي ۾، سڀ کان پهرين شيء جيڪا سٺي هوندي، جيڪڏهن ڪو ماڻهو مون کي وضاحت ڪري ته ڪوڊ ذريعي حڪمن جي وضاحت کي ڪيئن پروگرام ڪجي، ۽ ٽيليگرام ۾ بوٽ سيٽنگن ذريعي نه. مون اهو نه سکيو. اسان وٽ اسان جي وسيلن تي ڪيترائي مضمون آھن جيڪي بيان ڪن ٿا ته ھڪڙو بنيادي بوٽ ڪيئن ٺاھيو: اڄ اسان ڪجھھ ساڳيو ڪنداسين. جيڪڏهن توهان وٽ وڌيڪ سوال آهن، آئون سفارش ڪريان ٿو هن مضمون ذريعي اسڪيمنگ.

BotFather سان هڪ بوٽ ٺاهيو

هڪ بوٽ کي ڳنڍڻ لاء، توهان کي پهريان ان کي ٺاهڻ جي ضرورت آهي. ٽيليگرام جو هڪ طريقو آهي - هڪ بوٽ ٺاهي پنهنجي منفرد نالي سان. اهو پڻ هڪ ٽوڪن سان گڏ هوندو (هڪ وڏو اسٽرنگ جيڪو پاسورڊ وانگر ڪم ڪندو آهي). مون اڳ ۾ ئي JavaRush - @javarush_community_bot لاءِ هڪ بوٽ ٺاهيو آهي . هي بوٽ اڃا تائين خالي آهي ۽ ڪجهه به نٿو ڪري سگهي. اصل ڳالهه اها آهي ته نالي جي آخر ۾ _bot هجڻ گهرجي . اهو ڏيکارڻ لاءِ ته اهو ڪيئن ڪجي، مان هڪ بوٽ ٺاهيندس جنهن تي اسان پنهنجي ڪارڪردگيءَ جي جانچ ڪنداسين. حقيقي منصوبن جي لحاظ کان، اهو هڪ امتحان وارو ماحول هوندو. ۽ اسان جو مکيه ھڪڙو پروڊ ماحول ھوندو (پروڊ - پيداوار، اھو آھي، حقيقي ماحول جنھن تي منصوبي تي عمل ڪيو ويندو). يقينن، اهو ممڪن ٿيندو ته ٻيو ماحول شامل ڪيو وڃي - هڪ سينڊ باڪس ماحول: هڪ عام سينڊ باڪس، وڌيڪ تبديل ٿيندڙ ۽ سڀني ترقياتي شرڪت ڪندڙن لاءِ پهچ. پر اهو صرف منصوبي جي ٺهڻ واري مرحلي ۾ صورتحال کي پيچيده ڪندو. ھاڻي، اچو ته ٽيسٽ لاءِ ۽ سينڊ باڪس ماحول لاءِ ٻه وڌيڪ بوٽ ٺاھيون. پهريون قدم اهو آهي ته ٽيليگرام ۾ ئي هڪ بوٽ ٺاهي (رجسٽر). اسان کي bot ڳولڻ جي ضرورت آهي: @BotFather ۽ ان تي حڪم لکو: /newbot"جاوا پروجيڪٽ A کان Z تائين": پروجيڪٽ ۾ ٽيليگرام بوٽ شامل ڪرڻ - 4 اڳيون، اسان کي هن بوٽ کي نالو ڏيڻ لاءِ چيو ويندو. جيئن ته هي هڪ بوٽ آهي ٽيسٽنگ ڪمن لاءِ، ان جو نالو مناسب ٿيندو: [TEST] JavarushBot"جاوا پروجيڪٽ A کان Z تائين": پروجيڪٽ ۾ ٽيليگرام بوٽ شامل ڪرڻ - 5 هاڻي اهو وقت آهي ته هڪ منفرد نالو ڏنو وڃي جنهن سان اهو هميشه ڳولهي سگهجي - ان جو يوزر نالو: test_javarush_community"جاوا پروجيڪٽ A کان Z تائين": پروجيڪٽ ۾ ٽيليگرام بوٽ شامل ڪرڻ - 6 جيئن مون مٿي چيو، توهان کي _bot شامل ڪرڻ جي ضرورت آهي يوزرنيم لاءِ لاڳاپو، تنهنڪري اسان ٻيهر لکون ٿا: test_javarush_community_bot"جاوا پروجيڪٽ A کان Z تائين": پروجيڪٽ ۾ ٽيليگرام بوٽ شامل ڪرڻ - 7 ۽ اهو ئي آهي! بوٽ ٺاهي وئي آهي. ھاڻي، استعمال ڪندڙ نالو ۽ ٽوڪن استعمال ڪندي، اھو اسان جي منصوبي سان ڳنڍجي سگھي ٿو. يقينن، ٽيسٽ سرور جي هموار آپريشن لاءِ، مان عوام کي ڏسڻ لاءِ هن بوٽ جو ٽوڪن (لازمي طور تي بوٽ تائين رسائي لاءِ پاسورڊ) ظاهر نه ڪندس.

اسان بوٽ کي منصوبي سان ڳنڍيندا آهيون

اسان لائبريري کي معمول وانگر شامل نه ڪنداسين، پر فوري طور تي اسان جي کنڊر جو فائدو وٺنداسين - اسپرنگ بوٽ. هن وٽ اهڙي شيءِ آهي جيئن اسٽارٽر. لائبريري شامل ڪرڻ سان، اسان ان کي استعمال ڪري سگھون ٿا ته SpringBoot کي خبر ڏيو ته اسان پروجيڪٽ کي صحيح ترتيب ڏيڻ چاهيون ٿا. جيڪڏهن اسان معمول جي رستي تي وڃون ٿا، جيڪو ڪيترن ئي هنڌن تي بيان ڪيو ويو آهي، اسان کي ڪنهن جاء تي هڪ ترتيب ٺاهڻ جي ضرورت پوندي جيڪا هن وانگر هوندي:
ApiContextInitializer.init();
TelegramBotsApi telegramBotsApi = new TelegramBotsApi();
try {
  telegramBotsApi.registerBot(Bot.getBot());
} catch (TelegramApiRequestException e) {
  e.printStackTrace();
}
هتي هڪ اعتراض ٺهيل آهي جنهن سان توهان بوٽ سان ڪنيڪشن قائم ڪري سگهو ٿا. اسان جي حالت ۾، اسٽارٽر جنهن کي اسان ڳنڍڻ چاهيون ٿا اهو سڀ ڪجهه اسان لاءِ ڪٿي نه ڪٿي ڪندو ”هيٺ هيٺان“ (اهو پڻ IT ۾ اڪثر استعمال ٿيندڙ جملي جو ترجمو آهي - هيٺ هوڊ). هتي هن اسٽارٽر لاء هڪ لنڪ آهي . توهان فوري طور تي README.md فائل مان ڏسي سگهو ٿا ته اهو ڇا آهي، ڇو ۽ ڪيئن استعمال ڪجي. ان کي ڳنڍڻ لاء، توهان کي صرف ميموري ۾ هن انحصار کي شامل ڪرڻ جي ضرورت آهي. اهو سڀ ڪجهه آهي :) هتي گهربل انحصار آهي:
<dependency>
        <groupId>org.telegram</groupId>
        <artifactId>telegrambots-spring-boot-starter</artifactId>
        <version>5.0.1</version>
    </dependency>
اسان ان کي اسان جي ياداشت ۾ شامل ڪيو. اسان نسخو انسٽال ڪيو جيئن توقع ڪئي وئي ۽ تازه ڪاري ڪيو Maven پروجيڪٽ. "جاوا پروجيڪٽ A کان Z تائين": پروجيڪٽ ۾ ٽيليگرام بوٽ شامل ڪرڻ - 8وضاحت جي بنياد تي، اسان کي صرف هڪ نئون ڪلاس ٺاهڻو پوندو، TelegramLongPollingBot کان ورثي ۾ ۽ هن طبقي کي اسان جي اسپرنگ بوٽ جي ايپليڪيشن جي حوالي سان شامل ڪريو. Application Context اها جڳهه آهي جتي پروجيڪٽ کي هلائڻ لاءِ ٺاهيل شيون محفوظ ڪيون وينديون آهن. ڪلاس شامل ڪرڻ لاءِ، توھان کي ھڪڙي تشريح استعمال ڪرڻ جي ضرورت آھي: @Component، @Service، @Repository، @Controller. يا @Bean تشريح جيڪڏهن ٺهيل طريقي سان ترتيب واري ڪلاس ۾ ٺاهيو وڃي (يعني هڪ ڪلاس ۾ جنهن کي ترتيب ڏنل تشريح سان نشان لڳايو ويو آهي). مان سمجهان ٿو ته اهو سڀ ڪجهه اڃا به سمجهي نه ٿو سگهي. پر جڏهن توهان ان کي سمجهڻ شروع ڪيو، توهان ڏسندا ته اتي ڪجھ به پيچيده ناهي. اسپرنگ بوٽ کي جلدي سمجھڻ لاءِ، مان سفارش ڪريان ٿو هڪ بهترين ڪتاب - اسپرنگ ان ايڪشن 5هين ايڊيشن. جيڪڏهن ڪا خواهش هجي ته هن ڪتاب تي ٻڌل مضمونن جو هڪ سلسلو لکي سگهان ٿو. اچو ته واپس وڃو. پيڪيج ۾ جنهن ۾ JavarushTelegramBotApplication شامل آهي، اسان bot پيڪيج ٺاهيندا آهيون ، جنهن ۾ اسان جي ٽيليگرام بوٽ شامل هوندي. ان جو نالو هوندو JavaRushTelegramBot :
package com.github.javarushcommunity.jrtb.bot;

import org.telegram.telegrambots.bots.TelegramLongPollingBot;
import org.telegram.telegrambots.meta.api.objects.Update;

/**
* Telegrambot for Javarush Community from Javarush community.
*/
@Component
public class JavarushTelegramBot extends TelegramLongPollingBot {

   @Override
   public void onUpdateReceived(Update update) {

   }

   @Override
   public String getBotUsername() {
       return null;
   }

   @Override
   public String getBotToken() {
       return null;
   }
}
هي طبقو خلاصو هو ۽ ٽن طريقن تي عمل ڪرڻو پيو. اچو ته ان بابت وڌيڪ تفصيل سان ڳالهايون:
  • onUpdateReceived(اپڊيٽ تازه ڪاري) - هي داخل ٿيڻ وارو نقطو آهي جتي صارفين جا پيغام پهچندا. سڀ نئين منطق هتان ايندي؛
  • getBotUsername() - هتي توهان کي اسان جي بوٽ جو صارف نالو شامل ڪرڻو پوندو جنهن سان اسان ڳنڍينداسين؛
  • getBotToken() - ۽ هي، مطابق، بوٽ ٽوڪن آهي.
لازمي طور تي اهو هڪ سائيٽ لاءِ لاگ ان ۽ پاسورڊ وانگر آهي. اسان هن قيمت کي واضح طور تي نه لکنداسين. هن کي ”هارڊ ڪوڊنگ“ چئبو آهي (يعني ڪجهه خاص قدر کي پابند ڪرڻ - معمول وانگر، انگريزي هارڊ ڪوڊ مان پيپر ٽريڪ ڪرڻ). توهان کي اهو نه ڪرڻ گهرجي. اسان ٻئي طريقي سان هلنداسين - اسان هن ڊيٽا کي application.properties ڪلاس ۾ لکنداسين ۽ ان کي هتان کان پڙهنداسين. اهو ڇو ضروري آهي؟ ان کان پوء، جڏهن ايپليڪيشن شروع ٿئي ٿي، اسان انهن قدرن کي خارجي طور تي سيٽ ڪري سگھون ٿا. اهو لچڪدار آهي، اهو صحيح آهي. فائل ڏانھن وڃو src/main/resources/application.properties. اتي اسان انهن متغيرن جي نالن سان گڏ ايندا. .properties ايڪسٽينشن سان فائلون پڙهيا ويندا آهن هڪ اهم-قدر جي جوڙجڪ جي طور تي جدا ٿيل “=”، هر جوڙو هڪ الڳ لڪير آهي. تنهن ڪري آئون انهن متغيرن سان گڏ آيو آهيان:
  • bot.username ؛
  • bot.token _
اھو اھو آھي جيڪو اھو نظر ايندو: "جاوا پروجيڪٽ A کان Z تائين": پروجيڪٽ ۾ ٽيليگرام بوٽ شامل ڪرڻ - 9SpringBoot ھڪڙو وڏو تشريح آھي - @Value. جيڪڏهن صحيح طور تي استعمال ڪيو وڃي، اهو Application.properties فائل مان قيمتون ڪڍندو. اسان هن منصوبي سان تازه ڪاري ڪريون ٿا:
package com.github.javarushcommunity.jrtb.bot;

import org.springframework.beans.factory.annotation.Value;
import org.telegram.telegrambots.bots.TelegramLongPollingBot;
import org.telegram.telegrambots.meta.api.objects.Update;

/**
* Telegram bot for Javarush Community from Javarush community.
*/
@Component
public class JavarushTelegramBot extends TelegramLongPollingBot {

   @Value("${bot.username}")
   private String username;

   @Value("${bot.token}")
   private String token;

   @Override
   public void onUpdateReceived(Update update) {

   }

   @Override
   public String getBotUsername() {
       return username;
   }

   @Override
   public String getBotToken() {
       return token;
   }
}
اهو ڏسي سگھجي ٿو ته اسان variable جي قدر کي تشريح ڏانهن منتقل ڪيو. ۽ جڏهن اسپرنگ بوٽ اسان جو بوٽ آبجیکٹ ٺاهي ٿو، قيمتون ملڪيتن مان ورتيون وينديون (ٻيهر، انگريزيءَ مان tracing paper - property). اسان تقريبن اتي آهيون. توهان کي بوٽ جو جواب ڏيڻ جي ضرورت آهي. تنهن ڪري، اچو ته تازه ڪاري ڪريون onUpdateReceived طريقو . اسان کي اهو پيغام حاصل ڪرڻ جي ضرورت آهي جيڪو بوٽ ڏانهن آيو ۽ ان کي واپس پاس ڪيو. انهي طريقي سان اسان کي معلوم ٿيندو ته بوٽ ڪم ڪري رهيو آهي. هن کي ڪرڻ لاء، اسان تقريبا ۽ جلدي لکنداسين جيڪو ضروري آهي:
@Override
public void onUpdateReceived(Update update) {
   if(update.hasMessage() && update.getMessage().hasText()) {
       String message = update.getMessage().getText().trim();
       String chatId = update.getMessage().getChatId().toString();

       SendMessage sm = new SendMessage();
       sm.setChatId(chatId);
       sm.setText(message);

       try {
           execute(sm);
       } catch (TelegramApiException e) {
           //todo add logging to the project.
           e.printStackTrace();
       }
   }
}
هتي سڀ ڪجهه بلڪل سادو آهي: اسان چيڪ ڪريون ٿا ته پيغام واقعي موجود آهي، تنهنڪري اسان پاڻ کي پيغام ( پيغام ) ۽ چيٽ جي سڃاڻپ ( chatId ) ڪڍيون ٿا جنهن ۾ خط و ڪتابت ٿي رهي آهي. اڳيون، اسان پيغام موڪلڻ لاءِ هڪ اعتراض ٺاهيون ٿا SendMessage ، پيغام پاڻ پاس ڪريو ۽ ان کي چيٽ ID - اهو آهي، بوٽ کي ڇا موڪلڻ ۽ ڪٿي. اسان وٽ اڳ ۾ ئي ڪافي آهي. اڳيون، اسان JavarushTelegramBotApplication ڪلاس ۾ مکيه طريقو هلائيندا آهيون ۽ ٽيليگرام ۾ اسان جي بوٽ کي ڳوليندا آهيون: "جاوا پروجيڪٽ A کان Z تائين": پروجيڪٽ ۾ ٽيليگرام بوٽ شامل ڪرڻ - 10لاگن مان اسان ڏسون ٿا ته بوٽ شروع ٿي چڪو آهي. تنهن ڪري، اهو وقت آهي ٽيليگرام ڏانهن وڃو ۽ bot ڏانهن لکو: "جاوا پروجيڪٽ A کان Z تائين": پروجيڪٽ ۾ ٽيليگرام بوٽ شامل ڪرڻ - 11اسان شروع تي ڪلڪ ڪندا آهيون ۽ اسان کي فوري طور تي هڪ جواب ملي ٿو: "جاوا پروجيڪٽ A کان Z تائين": پروجيڪٽ ۾ ٽيليگرام بوٽ شامل ڪرڻ - 12اچو ته چيڪ ڪرڻ لاءِ ڪجهه وڌيڪ گند لکون: "جاوا پروجيڪٽ A کان Z تائين": پروجيڪٽ ۾ ٽيليگرام بوٽ شامل ڪرڻ - 13۽ اهو ئي آهي، هن موقعي تي اسان چئي سگهون ٿا ته اسان جو JRTB-2 ڪم مڪمل ٿي چڪو آهي. . توھان ھتي ھتي ڪو بھ ٽيسٽ نه ٿا لکي سگھو، تنھنڪري اسين سڀ ڪجھ ائين ڇڏينداسين جيئن اھو آھي. اڳيون توهان کي هڪ نئون عزم ٺاهڻ جي ضرورت آهي: "جاوا پروجيڪٽ A کان Z تائين": پروجيڪٽ ۾ ٽيليگرام بوٽ شامل ڪرڻ - 14ڪمٽ جي نالي تي ڌيان ڏيو: ٻيهر آئون توهان جو ڌيان هن طرف ڏيان ٿو. ھڪڙي ڪمٽ ۾ پھريائين ڪم جو نالو ھوندو آھي، ۽ پوءِ ڇا ڪيو ويو آھي جو وڌيڪ تفصيلي بيان. ڪلڪ ڪريو Commit and Push... ۽ تصديق ڪريو ڪلڪ ڪري ٻيهر Push : اسان جي پروجيڪٽ"جاوا پروجيڪٽ A کان Z تائين": پروجيڪٽ ۾ ٽيليگرام بوٽ شامل ڪرڻ - 15 ڏانھن وڃو . جيئن اڳ ۾، GitHub اڳ ۾ ئي نئين شاخ ڏٺو آهي ۽ مکيه لاء پل درخواست ٺاهڻ لاء پيش ڪري ٿو. اسان مزاحمت نه ڪندا آهيون ۽ ان کي ٺاهيندا آهيون: هميشه وانگر، اسان اڳ ۾ ئي هڪ ليبل، هڪ منصوبو چونڊيو آهي ۽ ان کي مون کي تفويض ڪيو آهي. آخرڪار، ڪلڪ ڪريو ٺاھڻ جي درخواست ٺاھيو. اچو ته ٿورڙو انتظار ڪريون جڏهن تعمير ٿي وڃي - ۽ اهو ئي آهي، پل جي درخواست ضم ڪرڻ لاء تيار آهي:"جاوا پروجيڪٽ A کان Z تائين": پروجيڪٽ ۾ ٽيليگرام بوٽ شامل ڪرڻ - 16"جاوا پروجيڪٽ A کان Z تائين": پروجيڪٽ ۾ ٽيليگرام بوٽ شامل ڪرڻ - 17

ورجن ڪرڻ

مون کي ڪنهن طرح اهو نقطو ياد اچي ويو ته اسان کي ورزننگ ڪرڻ جي ضرورت آهي. ائين ڪرڻ لاءِ، اسان پنھنجي برانچ ۾ ڪجھ وڌيڪ تبديليون آڻينداسين. اسان IDEA ڏانھن واپس وڃو ۽ ميموري ۾ پروجيڪٽ ورزن کي ڏسو: "جاوا پروجيڪٽ A کان Z تائين": پروجيڪٽ ۾ ٽيليگرام بوٽ شامل ڪرڻ - 18نسخو 0.0.1-SNAPSHOT آھي . هي فرض نسخو آهي. ۽ اسان هر نئين حل ٿيل مسئلي سان پروجيڪٽ جي ورزن کي اپڊيٽ ڪندي شروع ڪنداسين. جيستائين اسان MVP تائين پهچون ٿا، نسخو لاحقه سان ايندو -SNAPSHOT. ورزننگ اسڪيم ڇا ٿيندو؟ XYZ-SNAPSHOT ڪٿي:
  • X - وڏي نسخي جي تازه ڪاري، اڪثر ڪري پوئين ورزن سان پسمانده مطابقت سان مسئلا شامل آهن؛
  • Y - تمام وڏيون تبديليون نه، پوئين ورزن سان مڪمل طور تي مطابقت؛
  • Z خرابين جو هڪ انسداد آهي جيڪو اسان مليو ۽ مرمت ڪيو.
انهي جي بنياد تي، اسان وٽ پهريون نسخو هوندو - 0.1.0-SNAPSHOT - اهو آهي، اسان وٽ اڃا تائين وڏيون تازه ڪاريون نه آهن، هر شيء جو ٿورڙو، ۽ اسان اڃا تائين MVP تائين نه پهچي چڪا آهيون، تنهنڪري اتي هڪ لاڳاپو آهي -SNAPSHOT . اچو ته هن کي ميموري ۾ تبديل ڪريون: "جاوا پروجيڪٽ A کان Z تائين": پروجيڪٽ ۾ ٽيليگرام بوٽ شامل ڪرڻ - 19RELEASE_NOTES فائل ڏانهن وڃو، جتي اسان هر نئين ورزن سان منصوبي ۾ تبديلين کي بيان ڪنداسين: "جاوا پروجيڪٽ A کان Z تائين": پروجيڪٽ ۾ ٽيليگرام بوٽ شامل ڪرڻ - 20اسان جي پهرين داخلا. هاڻي، هر ايندڙ ورزن جي تازه ڪاري سان، اسان هتي بيان ڪنداسين ته واقعي ڇا ٿيو. اسان هن ڪيس کي انجام ڏيو ٿا، تفصيل لکو: JRTB-2: اپڊيٽ ٿيل پروجيڪٽ ورزن ۽ RELEASE_NOTES ۾ شامل ڪيو ويو آهي هر شيء بلڪل اڳي وانگر آهي. اسان انتظار ڪري رهيا آهيون تعمير ٿيڻ لاءِ ۽ اسان پنهنجي تبديلين کي ملائي سگهون ٿا. صرف هتي اهو ٿورو مختلف ٿيندو. مان پڪ ڪرڻ چاهيان ٿو ته مکيه شاخ ۾ هر ڪم هڪ الڳ ڪمٽ آهي، تنهنڪري صرف هڪ مرج پل جي درخواست کي زور ڏيڻ اسان لاء ڪم نه ڪندو. گٽ وٽ گٽ اسڪواش آپشن آهي، جيڪو سڀني ڪمن کي گڏ ڪري ٿو ۽ انهن کي ضم ڪري ٿو. اسان هي اختيار چونڊيو: "جاوا پروجيڪٽ A کان Z تائين": پروجيڪٽ ۾ ٽيليگرام بوٽ شامل ڪرڻ - 21اسڪواش تي ڪلڪ ڪريو ۽ ضم ڪريو، ۽ اسان کي پيغام کي ايڊٽ ڪرڻ جي آڇ ڪئي وئي آهي، جيڪو آخر ۾ هوندو: "جاوا پروجيڪٽ A کان Z تائين": پروجيڪٽ ۾ ٽيليگرام بوٽ شامل ڪرڻ - 22تمام آسان ۽ سڀ کان اهم، جيڪو گهربل آهي. رستي ۾، مون bitbucket تي اهڙي خاصيت نه ڏٺي آهي =/ ضمير جي تصديق ڪريو. اسان جي بورڊ ۾ ٽاسڪ اسٽيٽس کي ڊن ۾ تبديل ڪرڻ لاءِ صرف هڪ شيءِ ڇڏي وئي آهي، پل جي درخواست جي لنڪ سان هڪ تبصرو لکو ۽ ان کي بند ڪريو: "جاوا پروجيڪٽ A کان Z تائين": پروجيڪٽ ۾ ٽيليگرام بوٽ شامل ڪرڻ - 23اسان جو بورڊ هاڻي هن طرح نظر اچي ٿو:"جاوا پروجيڪٽ A کان Z تائين": پروجيڪٽ ۾ ٽيليگرام بوٽ شامل ڪرڻ - 24

نتيجو

اڄ اسان هڪ ٽيليگرام بوٽ ٺاهيو قدم قدم سان ۽ ان کي اسان جي اسپرنگ بوٽ پروجيڪٽ ۾ لاڳو ڪيو. بوٽ ڪم ڪري ٿو ۽ جواب ڏئي ٿو. اسان فوري طور تي ملڪيت ذريعي بوٽ ڊيٽا تائين رسائي ڪئي. وڌيڪ اچڻو آهي: اسان هڪ وڏو ڪم ڪنداسين - JRTB-3 انجام ڏيو - اسان جي منصوبي لاءِ ڪمانڊ پيٽرن شامل ڪندي. ها، هڪ ٻي شيء ... مون توهان کي چيو ته مان ٽوڪن شايع نه ڪندس ته جيئن اهو استعمال نه ڪيو وڃي. پر جيئن ته آئون آرٽيڪل اڌ رات جي ويجهو لکي رهيو هوس ۽ ڪم ڪرڻ کان پوءِ ، اهو ظاهر ٿيو ته مون مخزن ۾ هڪ صحيح ٽوڪن پوسٽ ڪيو هو ، ۽ GitGuardian مون کي هن بابت هڪ خط ۾ ٻڌايو: "جاوا پروجيڪٽ A کان Z تائين": پروجيڪٽ ۾ ٽيليگرام بوٽ شامل ڪرڻ - 25هن لاءِ انهن جي مهرباني! هاڻي ڇا ڪجي؟ هاڻي ان کي گٽ مان حذف ڪرڻ ممڪن نه هوندو، ڇو ته جيڪڏهن مان هن ٽوڪن کان سواءِ هڪ نئون ڪمٽ اپ لوڊ ڪريان ته به اهو پراڻو ئي رهندو. پر مان ان عهدي کي ختم ڪرڻ ۽ واپس آڻڻ نٿو چاهيان. تنهن ڪري مان ويو ۽ اڳ ۾ ئي ذڪر ڪيل BotFather کان ٽوڪن کي غير فعال ڪيو. هاڻي ٽوڪن موجود آهي، پر اهو هاڻي صحيح ناهي. مضمون شايع ڪرڻ کان پهريان ان لاءِ سڀ ڪوڊ ڏسڻ لاءِ منهنجي GitHub اڪائونٽ جي رڪنيت حاصل ڪريو . پڙهڻ لاءِ توهان سڀني جي مهرباني، جلد ملنداسين.

سيريز ۾ سڀني مواد جي هڪ فهرست هن مضمون جي شروعات ۾ آهي.

تبصرا
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION