سلام، منهنجا پيارا دوست. ها، ها، بلڪل دوستو. آئون اڳي ئي آرٽيڪل جي هن سلسلي سان ايترو واقف ٿي چڪو آهيان ته اهي ماڻهو جيڪي باقاعده تبصرن ۾ پنهنجو شڪرگذار لکندا آهن ۽/يا ڏيکاريندا آهن ته انهن مواد کي پڙهيو ۽ سمجهي ورتو آهي، اڳ ۾ ئي ويجهو ٿي چڪا آهن. تون ۽ مان ٻن طرفن کان هڪ ئي مقصد ڏانهن وڌي رهيا آهيون. توهان سمجهڻ چاهيو ٿا، پر مان وضاحت ڪرڻ چاهيان ٿو. ۽ اسان وٽ هڪ ئي آخري مقصد آهي - هڪ لکت واري درخواست جيڪا توهان کي شروع کان آخر تائين سمجهي سگهجي ٿي. توهان شايد اڳ ۾ ئي ٻڌو آهي گهڻو ڪجهه جيڪو آئون هن مضمون ۾ بيان ڪندس. مان نه ٿو سمجهان ته مان توهان کي ڪا نئين ۽ غير معمولي ڳالهه ٻڌايان (پر پروجيڪٽ جي فريم ورڪ ۾ اهو ضروري آهي ته اهو ڄاڻڻ / ورجائي).
بهار ۾ مون پنهنجي لاءِ هڪ بوٽ لکيو، تنهنڪري اسان ان جي ”نمونين“ تي ڀروسو ڪنداسين.
اڳيون، اسان کي هن بوٽ کي نالو ڏيڻ لاءِ چيو ويندو. جيئن ته هي هڪ بوٽ آهي ٽيسٽنگ ڪمن لاءِ، ان جو نالو مناسب ٿيندو: [TEST] JavarushBot
هاڻي اهو وقت آهي ته هڪ منفرد نالو ڏنو وڃي جنهن سان اهو هميشه ڳولهي سگهجي - ان جو يوزر نالو: test_javarush_community
جيئن مون مٿي چيو، توهان کي _bot شامل ڪرڻ جي ضرورت آهي يوزرنيم لاءِ لاڳاپو، تنهنڪري اسان ٻيهر لکون ٿا: test_javarush_community_bot
۽ اهو ئي آهي! بوٽ ٺاهي وئي آهي. ھاڻي، استعمال ڪندڙ نالو ۽ ٽوڪن استعمال ڪندي، اھو اسان جي منصوبي سان ڳنڍجي سگھي ٿو. يقينن، ٽيسٽ سرور جي هموار آپريشن لاءِ، مان عوام کي ڏسڻ لاءِ هن بوٽ جو ٽوڪن (لازمي طور تي بوٽ تائين رسائي لاءِ پاسورڊ) ظاهر نه ڪندس.
وضاحت جي بنياد تي، اسان کي صرف هڪ نئون ڪلاس ٺاهڻو پوندو، TelegramLongPollingBot کان ورثي ۾ ۽ هن طبقي کي اسان جي اسپرنگ بوٽ جي ايپليڪيشن جي حوالي سان شامل ڪريو. Application Context اها جڳهه آهي جتي پروجيڪٽ کي هلائڻ لاءِ ٺاهيل شيون محفوظ ڪيون وينديون آهن. ڪلاس شامل ڪرڻ لاءِ، توھان کي ھڪڙي تشريح استعمال ڪرڻ جي ضرورت آھي: @Component، @Service، @Repository، @Controller. يا @Bean تشريح جيڪڏهن ٺهيل طريقي سان ترتيب واري ڪلاس ۾ ٺاهيو وڃي (يعني هڪ ڪلاس ۾ جنهن کي ترتيب ڏنل تشريح سان نشان لڳايو ويو آهي). مان سمجهان ٿو ته اهو سڀ ڪجهه اڃا به سمجهي نه ٿو سگهي. پر جڏهن توهان ان کي سمجهڻ شروع ڪيو، توهان ڏسندا ته اتي ڪجھ به پيچيده ناهي. اسپرنگ بوٽ کي جلدي سمجھڻ لاءِ، مان سفارش ڪريان ٿو هڪ بهترين ڪتاب - اسپرنگ ان ايڪشن 5هين ايڊيشن. جيڪڏهن ڪا خواهش هجي ته هن ڪتاب تي ٻڌل مضمونن جو هڪ سلسلو لکي سگهان ٿو. اچو ته واپس وڃو. پيڪيج ۾ جنهن ۾ JavarushTelegramBotApplication شامل آهي، اسان bot پيڪيج ٺاهيندا آهيون ، جنهن ۾ اسان جي ٽيليگرام بوٽ شامل هوندي. ان جو نالو هوندو JavaRushTelegramBot :
SpringBoot ھڪڙو وڏو تشريح آھي - @Value. جيڪڏهن صحيح طور تي استعمال ڪيو وڃي، اهو Application.properties فائل مان قيمتون ڪڍندو. اسان هن منصوبي سان تازه ڪاري ڪريون ٿا:
لاگن مان اسان ڏسون ٿا ته بوٽ شروع ٿي چڪو آهي. تنهن ڪري، اهو وقت آهي ٽيليگرام ڏانهن وڃو ۽ bot ڏانهن لکو:
اسان شروع تي ڪلڪ ڪندا آهيون ۽ اسان کي فوري طور تي هڪ جواب ملي ٿو:
اچو ته چيڪ ڪرڻ لاءِ ڪجهه وڌيڪ گند لکون:
۽ اهو ئي آهي، هن موقعي تي اسان چئي سگهون ٿا ته اسان جو JRTB-2 ڪم مڪمل ٿي چڪو آهي. . توھان ھتي ھتي ڪو بھ ٽيسٽ نه ٿا لکي سگھو، تنھنڪري اسين سڀ ڪجھ ائين ڇڏينداسين جيئن اھو آھي. اڳيون توهان کي هڪ نئون عزم ٺاهڻ جي ضرورت آهي:
ڪمٽ جي نالي تي ڌيان ڏيو: ٻيهر آئون توهان جو ڌيان هن طرف ڏيان ٿو. ھڪڙي ڪمٽ ۾ پھريائين ڪم جو نالو ھوندو آھي، ۽ پوءِ ڇا ڪيو ويو آھي جو وڌيڪ تفصيلي بيان. ڪلڪ ڪريو Commit and Push... ۽ تصديق ڪريو ڪلڪ ڪري ٻيهر Push : اسان جي پروجيڪٽ
ڏانھن وڃو . جيئن اڳ ۾، GitHub اڳ ۾ ئي نئين شاخ ڏٺو آهي ۽ مکيه لاء پل درخواست ٺاهڻ لاء پيش ڪري ٿو. اسان مزاحمت نه ڪندا آهيون ۽ ان کي ٺاهيندا آهيون: هميشه وانگر، اسان اڳ ۾ ئي هڪ ليبل، هڪ منصوبو چونڊيو آهي ۽ ان کي مون کي تفويض ڪيو آهي. آخرڪار، ڪلڪ ڪريو ٺاھڻ جي درخواست ٺاھيو. اچو ته ٿورڙو انتظار ڪريون جڏهن تعمير ٿي وڃي - ۽ اهو ئي آهي، پل جي درخواست ضم ڪرڻ لاء تيار آهي:!["جاوا پروجيڪٽ A کان Z تائين": پروجيڪٽ ۾ ٽيليگرام بوٽ شامل ڪرڻ - 16]()
نسخو 0.0.1-SNAPSHOT آھي . هي فرض نسخو آهي. ۽ اسان هر نئين حل ٿيل مسئلي سان پروجيڪٽ جي ورزن کي اپڊيٽ ڪندي شروع ڪنداسين. جيستائين اسان MVP تائين پهچون ٿا، نسخو لاحقه سان ايندو -SNAPSHOT. ورزننگ اسڪيم ڇا ٿيندو؟ XYZ-SNAPSHOT ڪٿي:
RELEASE_NOTES فائل ڏانهن وڃو، جتي اسان هر نئين ورزن سان منصوبي ۾ تبديلين کي بيان ڪنداسين:
اسان جي پهرين داخلا. هاڻي، هر ايندڙ ورزن جي تازه ڪاري سان، اسان هتي بيان ڪنداسين ته واقعي ڇا ٿيو. اسان هن ڪيس کي انجام ڏيو ٿا، تفصيل لکو: JRTB-2: اپڊيٽ ٿيل پروجيڪٽ ورزن ۽ RELEASE_NOTES ۾ شامل ڪيو ويو آهي هر شيء بلڪل اڳي وانگر آهي. اسان انتظار ڪري رهيا آهيون تعمير ٿيڻ لاءِ ۽ اسان پنهنجي تبديلين کي ملائي سگهون ٿا. صرف هتي اهو ٿورو مختلف ٿيندو. مان پڪ ڪرڻ چاهيان ٿو ته مکيه شاخ ۾ هر ڪم هڪ الڳ ڪمٽ آهي، تنهنڪري صرف هڪ مرج پل جي درخواست کي زور ڏيڻ اسان لاء ڪم نه ڪندو. گٽ وٽ گٽ اسڪواش آپشن آهي، جيڪو سڀني ڪمن کي گڏ ڪري ٿو ۽ انهن کي ضم ڪري ٿو. اسان هي اختيار چونڊيو:
اسڪواش تي ڪلڪ ڪريو ۽ ضم ڪريو، ۽ اسان کي پيغام کي ايڊٽ ڪرڻ جي آڇ ڪئي وئي آهي، جيڪو آخر ۾ هوندو:
تمام آسان ۽ سڀ کان اهم، جيڪو گهربل آهي. رستي ۾، مون bitbucket تي اهڙي خاصيت نه ڏٺي آهي =/ ضمير جي تصديق ڪريو. اسان جي بورڊ ۾ ٽاسڪ اسٽيٽس کي ڊن ۾ تبديل ڪرڻ لاءِ صرف هڪ شيءِ ڇڏي وئي آهي، پل جي درخواست جي لنڪ سان هڪ تبصرو لکو ۽ ان کي بند ڪريو:
اسان جو بورڊ هاڻي هن طرح نظر اچي ٿو:
هن لاءِ انهن جي مهرباني! هاڻي ڇا ڪجي؟ هاڻي ان کي گٽ مان حذف ڪرڻ ممڪن نه هوندو، ڇو ته جيڪڏهن مان هن ٽوڪن کان سواءِ هڪ نئون ڪمٽ اپ لوڊ ڪريان ته به اهو پراڻو ئي رهندو. پر مان ان عهدي کي ختم ڪرڻ ۽ واپس آڻڻ نٿو چاهيان. تنهن ڪري مان ويو ۽ اڳ ۾ ئي ذڪر ڪيل BotFather کان ٽوڪن کي غير فعال ڪيو. هاڻي ٽوڪن موجود آهي، پر اهو هاڻي صحيح ناهي. مضمون شايع ڪرڻ کان پهريان ان لاءِ سڀ ڪوڊ ڏسڻ لاءِ منهنجي GitHub اڪائونٽ جي رڪنيت حاصل ڪريو . پڙهڻ لاءِ توهان سڀني جي مهرباني، جلد ملنداسين.
اسان لکون ٿا JRTB-2
اسان اهو ئي ڪنداسين جيئن اسان آرٽيڪل ۾ ڪيو JRTB-0 ٽاسڪ سان :- اسان ctrl + t ميلاپ استعمال ڪندي مقامي پروجيڪٽ ۾ مکيه شاخ کي اپڊيٽ ڪيو .
- مکيه شاخ جي بنياد تي، اسان ٺاهيندا آهيون:
- بوٽ شامل ڪريو.
- اسان هڪ نئين وابستگي ٺاهيندا آهيون وضاحت سان جيڪو ڪيو ويو آهي ۽ ان کي دٻايو GitHub.
- مکيه شاخ لاء پل درخواست ٺاهيو ۽ ان کي ٻيهر چيڪ ڪريو. اسان انتظار ڪري رهيا آهيون تعمير جي ذريعي وڃڻ لاء (گٿب ڪارناما)، ان کي مکيه شاخ ۾ ضم ڪريو.
- لاڳاپيل ڪم کي بند ڪريو.
ٽيليگرام بوٽ ڇا آهي
اسان، ڊولپرز، تصور ڪري سگھون ٿا ٽيليگرام بوٽ سان ڪم ڪرڻ جهڙو: اسان انهن جي ڪلائنٽ کي انهن سان ڪم ڪرڻ لاءِ استعمال ڪندا آهيون. اسان وٽ ڪم لاءِ تيار ڪيل لائبريري آهي. عملن جو هڪ سيٽ آهي جنهن کان پوءِ ٽيليگرام بوٽ کي معلوم ٿيندو ته اهو اسان جي پروگرام سان لاڳاپيل آهي. ۽ اڳ ۾ ئي پروگرام جي اندر، اسان سکندا سين ته ڪيئن خط، حڪم حاصل ڪرڻ ۽ ڪنهن به طريقي سان انهن کي پروسيس ڪيو وڃي. ٽيليگرام بوٽن ۾ هڪ حڪم وانگر هڪ شيء آهي : اهو هڪ سليش سان شروع ٿئي ٿو "/". ان کان پوء، اسان فوري طور تي لفظ گڏ لکندا آهيون، ۽ اهو هڪ حڪم سمجهيو ويندو. مثال طور، اتي ٻه حڪم آهن ته هرڪو ڄاڻڻ گهرجي:- /start - بوٽ سان ڪم ڪرڻ شروع ڪريو؛
- / اسٽاپ - بوٽ سان ڪم ختم ڪريو.
BotFather سان هڪ بوٽ ٺاهيو
هڪ بوٽ کي ڳنڍڻ لاء، توهان کي پهريان ان کي ٺاهڻ جي ضرورت آهي. ٽيليگرام جو هڪ طريقو آهي - هڪ بوٽ ٺاهي پنهنجي منفرد نالي سان. اهو پڻ هڪ ٽوڪن سان گڏ هوندو (هڪ وڏو اسٽرنگ جيڪو پاسورڊ وانگر ڪم ڪندو آهي). مون اڳ ۾ ئي JavaRush - @javarush_community_bot لاءِ هڪ بوٽ ٺاهيو آهي . هي بوٽ اڃا تائين خالي آهي ۽ ڪجهه به نٿو ڪري سگهي. اصل ڳالهه اها آهي ته نالي جي آخر ۾ _bot هجڻ گهرجي . اهو ڏيکارڻ لاءِ ته اهو ڪيئن ڪجي، مان هڪ بوٽ ٺاهيندس جنهن تي اسان پنهنجي ڪارڪردگيءَ جي جانچ ڪنداسين. حقيقي منصوبن جي لحاظ کان، اهو هڪ امتحان وارو ماحول هوندو. ۽ اسان جو مکيه ھڪڙو پروڊ ماحول ھوندو (پروڊ - پيداوار، اھو آھي، حقيقي ماحول جنھن تي منصوبي تي عمل ڪيو ويندو). يقينن، اهو ممڪن ٿيندو ته ٻيو ماحول شامل ڪيو وڃي - هڪ سينڊ باڪس ماحول: هڪ عام سينڊ باڪس، وڌيڪ تبديل ٿيندڙ ۽ سڀني ترقياتي شرڪت ڪندڙن لاءِ پهچ. پر اهو صرف منصوبي جي ٺهڻ واري مرحلي ۾ صورتحال کي پيچيده ڪندو. ھاڻي، اچو ته ٽيسٽ لاءِ ۽ سينڊ باڪس ماحول لاءِ ٻه وڌيڪ بوٽ ٺاھيون. پهريون قدم اهو آهي ته ٽيليگرام ۾ ئي هڪ بوٽ ٺاهي (رجسٽر). اسان کي bot ڳولڻ جي ضرورت آهي: @BotFather ۽ ان تي حڪم لکو: /newbot!["جاوا پروجيڪٽ A کان Z تائين": پروجيڪٽ ۾ ٽيليگرام بوٽ شامل ڪرڻ - 4](https://cdn.javarush.com/images/article/da251e55-7d65-405d-8269-eae59ddec3fd/1080.jpeg)
!["جاوا پروجيڪٽ A کان Z تائين": پروجيڪٽ ۾ ٽيليگرام بوٽ شامل ڪرڻ - 5](https://cdn.javarush.com/images/article/cf774e29-d1bd-45ac-be63-4eec1ace7c8b/1080.jpeg)
!["جاوا پروجيڪٽ A کان Z تائين": پروجيڪٽ ۾ ٽيليگرام بوٽ شامل ڪرڻ - 6](https://cdn.javarush.com/images/article/bc2012c9-a5fd-409c-9afb-d731c2498ba9/1080.jpeg)
!["جاوا پروجيڪٽ A کان Z تائين": پروجيڪٽ ۾ ٽيليگرام بوٽ شامل ڪرڻ - 7](https://cdn.javarush.com/images/article/fb211e24-7ad5-4826-93ac-131f48bec30b/1080.jpeg)
اسان بوٽ کي منصوبي سان ڳنڍيندا آهيون
اسان لائبريري کي معمول وانگر شامل نه ڪنداسين، پر فوري طور تي اسان جي کنڊر جو فائدو وٺنداسين - اسپرنگ بوٽ. هن وٽ اهڙي شيءِ آهي جيئن اسٽارٽر. لائبريري شامل ڪرڻ سان، اسان ان کي استعمال ڪري سگھون ٿا ته 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](https://cdn.javarush.com/images/article/f4f45c30-c562-4961-b5c7-c08d60352a05/800.jpeg)
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() - ۽ هي، مطابق، بوٽ ٽوڪن آهي.
- bot.username ؛
- bot.token _
!["جاوا پروجيڪٽ A کان Z تائين": پروجيڪٽ ۾ ٽيليگرام بوٽ شامل ڪرڻ - 9](https://cdn.javarush.com/images/article/f49789c6-3378-42d7-9da2-c7e7ec38b72c/512.jpeg)
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](https://cdn.javarush.com/images/article/0e5175c2-2cea-4294-b6d8-2d7b42e5d0ec/1080.jpeg)
!["جاوا پروجيڪٽ A کان Z تائين": پروجيڪٽ ۾ ٽيليگرام بوٽ شامل ڪرڻ - 11](https://cdn.javarush.com/images/article/1bed4559-f9bf-43e5-b4b8-dcdd4eb4a2ed/512.jpeg)
!["جاوا پروجيڪٽ A کان Z تائين": پروجيڪٽ ۾ ٽيليگرام بوٽ شامل ڪرڻ - 12](https://cdn.javarush.com/images/article/392c2361-b04e-411e-8750-44ff8ac05b56/512.jpeg)
!["جاوا پروجيڪٽ A کان Z تائين": پروجيڪٽ ۾ ٽيليگرام بوٽ شامل ڪرڻ - 13](https://cdn.javarush.com/images/article/42578b38-d572-40a1-8c58-b56c9848dba3/512.jpeg)
!["جاوا پروجيڪٽ A کان Z تائين": پروجيڪٽ ۾ ٽيليگرام بوٽ شامل ڪرڻ - 14](https://cdn.javarush.com/images/article/fab24536-9f78-4d76-87aa-94662b19ad7b/512.jpeg)
!["جاوا پروجيڪٽ A کان Z تائين": پروجيڪٽ ۾ ٽيليگرام بوٽ شامل ڪرڻ - 15](https://cdn.javarush.com/images/article/bb41a8e6-2dee-4b14-be36-460e23b60ace/512.jpeg)
!["جاوا پروجيڪٽ A کان Z تائين": پروجيڪٽ ۾ ٽيليگرام بوٽ شامل ڪرڻ - 16](https://cdn.javarush.com/images/article/75880a98-5812-49e7-bc02-09d2d4fb5ff5/800.jpeg)
!["جاوا پروجيڪٽ A کان Z تائين": پروجيڪٽ ۾ ٽيليگرام بوٽ شامل ڪرڻ - 17](https://cdn.javarush.com/images/article/f63be8c4-31ec-47fb-af9b-dc621e0f3489/800.jpeg)
ورجن ڪرڻ
مون کي ڪنهن طرح اهو نقطو ياد اچي ويو ته اسان کي ورزننگ ڪرڻ جي ضرورت آهي. ائين ڪرڻ لاءِ، اسان پنھنجي برانچ ۾ ڪجھ وڌيڪ تبديليون آڻينداسين. اسان IDEA ڏانھن واپس وڃو ۽ ميموري ۾ پروجيڪٽ ورزن کي ڏسو:!["جاوا پروجيڪٽ A کان Z تائين": پروجيڪٽ ۾ ٽيليگرام بوٽ شامل ڪرڻ - 18](https://cdn.javarush.com/images/article/5637da0d-2fe8-4d59-8674-f1790d03a305/512.jpeg)
- X - وڏي نسخي جي تازه ڪاري، اڪثر ڪري پوئين ورزن سان پسمانده مطابقت سان مسئلا شامل آهن؛
- Y - تمام وڏيون تبديليون نه، پوئين ورزن سان مڪمل طور تي مطابقت؛
- Z خرابين جو هڪ انسداد آهي جيڪو اسان مليو ۽ مرمت ڪيو.
!["جاوا پروجيڪٽ A کان Z تائين": پروجيڪٽ ۾ ٽيليگرام بوٽ شامل ڪرڻ - 19](https://cdn.javarush.com/images/article/44e2a45c-6291-4fdf-bda5-042e6a7ba595/800.jpeg)
!["جاوا پروجيڪٽ A کان Z تائين": پروجيڪٽ ۾ ٽيليگرام بوٽ شامل ڪرڻ - 20](https://cdn.javarush.com/images/article/138e13d9-499b-45d4-a2e7-e20d81cdf3a5/800.jpeg)
!["جاوا پروجيڪٽ A کان Z تائين": پروجيڪٽ ۾ ٽيليگرام بوٽ شامل ڪرڻ - 21](https://cdn.javarush.com/images/article/24112b77-07f4-4eb6-b649-5faf70bcf2d6/800.jpeg)
!["جاوا پروجيڪٽ A کان Z تائين": پروجيڪٽ ۾ ٽيليگرام بوٽ شامل ڪرڻ - 22](https://cdn.javarush.com/images/article/a583cdfc-9d42-4f03-b956-feeda0294423/800.jpeg)
!["جاوا پروجيڪٽ A کان Z تائين": پروجيڪٽ ۾ ٽيليگرام بوٽ شامل ڪرڻ - 23](https://cdn.javarush.com/images/article/d04861f7-8bc2-45c1-b589-6c9b328c2afb/800.jpeg)
!["جاوا پروجيڪٽ A کان Z تائين": پروجيڪٽ ۾ ٽيليگرام بوٽ شامل ڪرڻ - 24](https://cdn.javarush.com/images/article/9a32e01a-6370-4fae-b8a5-ba7203aa5c89/800.jpeg)
نتيجو
اڄ اسان هڪ ٽيليگرام بوٽ ٺاهيو قدم قدم سان ۽ ان کي اسان جي اسپرنگ بوٽ پروجيڪٽ ۾ لاڳو ڪيو. بوٽ ڪم ڪري ٿو ۽ جواب ڏئي ٿو. اسان فوري طور تي ملڪيت ذريعي بوٽ ڊيٽا تائين رسائي ڪئي. وڌيڪ اچڻو آهي: اسان هڪ وڏو ڪم ڪنداسين - JRTB-3 انجام ڏيو - اسان جي منصوبي لاءِ ڪمانڊ پيٽرن شامل ڪندي. ها، هڪ ٻي شيء ... مون توهان کي چيو ته مان ٽوڪن شايع نه ڪندس ته جيئن اهو استعمال نه ڪيو وڃي. پر جيئن ته آئون آرٽيڪل اڌ رات جي ويجهو لکي رهيو هوس ۽ ڪم ڪرڻ کان پوءِ ، اهو ظاهر ٿيو ته مون مخزن ۾ هڪ صحيح ٽوڪن پوسٽ ڪيو هو ، ۽ GitGuardian مون کي هن بابت هڪ خط ۾ ٻڌايو:!["جاوا پروجيڪٽ A کان Z تائين": پروجيڪٽ ۾ ٽيليگرام بوٽ شامل ڪرڻ - 25](https://cdn.javarush.com/images/article/573a85c7-ed5f-4f7a-84b4-daf515eedb33/512.jpeg)
GO TO FULL VERSION