ھدايت: پروگرامنگ ۾ شروعات ڪندڙ لاءِ JS ۾ ھڪڙو سادو ٽيليگرام بوٽ ڪيئن ٺاھيو

مون صرف ٽي هفتا اڳ IT جي دنيا ۾ پنهنجو پاڻ کي وسارڻ شروع ڪيو. درحقيقت، ٽي هفتا اڳ مون کي HTML نحو به سمجهه ۾ نه آيو، ۽ پروگرامنگ ٻولين سان منهنجو تعارف 10 سال اڳ پاسڪل تي اسڪول جي نصاب سان ختم ٿيو. بهرحال، مون هڪ آئي ٽي ڪيمپ ۾ وڃڻ جو فيصلو ڪيو، جتي ٻارن لاءِ بوٽ ٺاهڻ سٺو لڳندو. مون فيصلو ڪيو ته اهو مشڪل سان مشڪل هو.

اهو هڪ ڊگهو سفر شروع ڪيو جنهن ۾ آئون:

  • Ubuntu سان گڏ ڪلائوڊ سرور مقرر ڪيو،
  • GitHub تي رجسٽر ٿيل،
  • بنيادي جاوا اسڪرپٽ نحو سکيو،
  • انگريزي ۽ روسي ۾ مضمونن جي هڪ ٽين پڙهو،
  • آخرڪار هڪ بوٽ ٺاهيو،
  • مون آخرڪار هي مضمون لکيو.

آخري نتيجو ڪجهه هن طرح نظر آيو:

ھدايت: پروگرامنگ ۾ شروعات ڪندڙ لاءِ JS ۾ ھڪڙو سادو ٽيليگرام بوٽ ڪيئن ٺاھيو

مان فوري طور تي چوندس ته هي هڪ مضمون آهي شروعات ڪندڙن لاءِ - صرف اهو سمجهڻ لاءِ ته بنيادي شيون شروع کان ڪيئن ڪجي.

۽ پڻ - ترقي يافته پروگرامرز لاءِ - صرف انهن کي ٿورو کلڻ لاءِ.

1. JS ۾ ڪوڊ ڪيئن لکجي؟

مون سمجھيو ته گھٽ ۾ گھٽ ٻوليءَ جي نحو کي سمجھڻ لائق آھي. چونڊ جاوا اسڪرپٽ تي ٿي وئي، صرف ان ڪري ته مون لاءِ ايندڙ قدم ReactNative ۾ ايپليڪيشن ٺاهڻ هو. مون سان شروع ڪيو ڪورس Codecademy تي ۽ ڏاڍي خوشي ٿي. پهرين 7 ڏينهن مفت آهن. حقيقي منصوبا. مان سفارش ڪريان ٿو. ان کي مڪمل ڪرڻ ۾ اٽڪل 25 ڪلاڪ لڳا. حقيقت ۾، اهو سڀ ڪجهه مفيد نه هو. اھو اھو آھي جيڪو ڪورس جي جوڙجڪ وانگر ڏسڻ ۾ اچي ٿو ۽ تفصيل ۾ پھريون بلاڪ.

ھدايت: پروگرامنگ ۾ شروعات ڪندڙ لاءِ JS ۾ ھڪڙو سادو ٽيليگرام بوٽ ڪيئن ٺاھيو

2. بوٽ رجسٽر ڪيئن ڪجي؟

هن شروعات ۾ مون کي تمام گهڻو مدد ڪئي هي آرٽيڪل هڪ خاص Archakov جي بلاگ تان. هو شروعات ئي چيز. پر بنيادي شيء جيڪا اتي آهي هڪ بوٽ رجسٽر ڪرڻ لاء هدايتون. مان ان کي بهتر نه ٿو لکي سگهان، ۽ جيئن ته هي سڀ کان آسان حصو آهي، مان صرف خلاصو لکندس. توهان کي هڪ بوٽ ٺاهڻ ۽ ان جي API حاصل ڪرڻ جي ضرورت آهي. هي ٻئي بوٽ ذريعي ڪيو ويو آهي - @BotFather. هن کي ٽيليگرام تي ڳولهيو، هن ڏانهن لکو، سادي رستي تي عمل ڪريو ۽ حاصل ڪريو (بچايو!) هڪ API چيڪ (هي انگن ۽ اکرن جو هڪ سيٽ آهي). اهو بعد ۾ ڪم ۾ آيو.

ھدايت: پروگرامنگ ۾ شروعات ڪندڙ لاءِ JS ۾ ھڪڙو سادو ٽيليگرام بوٽ ڪيئن ٺاھيو

3. بوٽ ڪوڊ ڇا نظر اچي ٿو؟

مضمونن جي گهڻي عرصي تائين مطالعي ڪرڻ کان پوءِ، مون محسوس ڪيو ته اها ڪنهن قسم جي لائبريري استعمال ڪرڻ جي لائق هئي (ماڊل فارميٽ ۾ ٽئين پارٽي جو ڪوڊ) ته جيئن ٽيليگرام API کي پڙهائڻ ۽ ڪوڊ جا وڏا ٽڪرا ٺاهڻ جي باري ۾ پريشان ٿيڻ جي ضرورت نه پوي. مون کي فريم ورڪ مليو ٽيليگراف، جنهن کي ڪنهن به طرح سان ڳنڍڻ جي ضرورت آهي npm يا يارن استعمال ڪندي. اهو تقريباً ڪيئن آهي مون سمجهيو ته پوءِ بوٽ جي تعیناتي ڇا تي مشتمل آهي. هتي کلڻ. مون کي ناراض نه ڪيو ويندو. صفحي جي تري ۾ مثالن مون کي بوٽ جي ايندڙ تخليق دوران تمام گهڻي مدد ڪئي:

ھدايت: پروگرامنگ ۾ شروعات ڪندڙ لاءِ JS ۾ ھڪڙو سادو ٽيليگرام بوٽ ڪيئن ٺاھيو

3. 100 روبل لاءِ پنهنجو ڪلائوڊ سرور ڪيئن ٺاهيو

گهڻي ڳولا کان پوءِ، مون محسوس ڪيو ته مٿي ڏنل تصوير ۾ ’npm‘ ڪمانڊ ڪمانڊ لائن ڏانهن اشارو آهي. ڪمانڊ لائن هر جڳهه آهي، پر ان کي عمل ڪرڻ جي قابل ٿي، توهان کي انسٽال ڪرڻو پوندو NodePackageManager. مسئلو اهو هو ته مان هڪ PixelBook تي ChromeOS سان پروگرام ڪري رهيو هوس. مان هتي هڪ وڏي بلاڪ کي ڇڏي ڏيندس ته مون لينڪس ڪيئن سکيو - گهڻو ڪري اهو خالي ۽ غير ضروري آهي. جيڪڏهن توهان وٽ ونڊوز يا ميڪ بڪ آهي، توهان وٽ اڳ ۾ ئي هڪ ڪنسول آهي.

مختصر ۾، مون لينڪس انسٽال ڪيو Crostini ذريعي.

بهرحال، عمل ۾، مون محسوس ڪيو ته بوٽ لاء مسلسل ڪم ڪرڻ لاء (۽ نه صرف جڏهن منهنجو ڪمپيوٽر آن آهي)، مون کي ڪلائوڊ سرور جي ضرورت آهي. مون چونڊيو vscale.io مون 100 روبل خرچ ڪيو ۽ خريد ڪيو سستو Ubuntu سرور (تصوير ڏسو).

ھدايت: پروگرامنگ ۾ شروعات ڪندڙ لاءِ JS ۾ ھڪڙو سادو ٽيليگرام بوٽ ڪيئن ٺاھيو

4. بوٽ کي هلائڻ لاءِ سرور ڪيئن تيار ڪجي

ان کان پوء، مون محسوس ڪيو ته مون کي سرور تي ڪجهه قسم جو فولڊر ٺاهڻ جي ضرورت آهي جنهن ۾ آئون فائل کي ڪوڊ ٽيڪسٽ سان گڏ ڪندس. هن کي ڪرڻ لاء، ڪنسول ۾ (سڌو ويب سائيٽ تي هلايو "اوپن ڪنسول" بٽڻ ذريعي)، مان داخل ٿيو

mkdir bot

bot - هي منهنجي فولڊر جو نالو بڻجي ويو. ان کان پوء، مون npm ۽ Node.js نصب ڪيو، جيڪو مون کي اجازت ڏيندو ته پوء ڪوڊ کي فائلن مان *.js قرارداد سان هلائڻ

sudo apt update
sudo apt install nodejs
sudo apt install npm

مان هن اسٽيج تي توهان جي ڪنسول ذريعي سرور سان ڪنيڪشن قائم ڪرڻ جي صلاح ڏيان ٿو. هتي دستياب اهو توهان کي توهان جي ڪمپيوٽر جي ڪنسول ذريعي سڌو سنئون سرور سان ڪم ڪرڻ جي اجازت ڏيندو.

5. توهان جي پهرين بوٽ لاء ڪوڊ ڪيئن لکجي.

پر هاڻي اهو صرف مون لاء هڪ دريافت آهي. ڪو به پروگرام صرف متن جون لائينون آهن. اهي ڪٿي به داخل ڪري سگھجن ٿيون، گهربل واڌ سان محفوظ ڪيون ويون آهن، ۽ اهو ئي آهي. توهان سهڻا آهيو. مون استعمال ڪيو جوهر، پر حقيقت ۾، توهان صرف هڪ معياري نوٽ پيڊ ۾ لکي سگهو ٿا. بنيادي شيء فائل کي بعد ۾ گهربل واڌ ۾ محفوظ ڪرڻ آهي. اهو لفظ ۾ متن لکڻ ۽ ان کي محفوظ ڪرڻ وانگر آهي.

مون هڪ نئين فائل ٺاهي آهي، جنهن ۾ مون ٽيليگراف پيج تي ڏنل مثال مان ڪوڊ داخل ڪيو آهي ۽ ان کي index.js فائل ۾ محفوظ ڪيو آهي (عام طور تي اهو ضروري ناهي ته فائل کي ان طريقي سان نالو ڏيو، پر اهو رواج آهي). اھم - BOT_TOKEN جي بدران، ٻئي پيراگراف مان پنھنجي API ڪنجي داخل ڪريو.

const Telegraf = require('telegraf')

const bot = new Telegraf(process.env.BOT_TOKEN)
bot.start((ctx) => ctx.reply('Welcome!'))
bot.help((ctx) => ctx.reply('Send me a sticker'))
bot.on('sticker', (ctx) => ctx.reply(''))
bot.hears('hi', (ctx) => ctx.reply('Hey there'))
bot.launch()

6. گيتب ذريعي سرور تي ڪوڊ ڪيئن اپلوڊ ڪجي

هاڻي مون کي ڪنهن به طرح هن ڪوڊ کي سرور تي اپلوڊ ڪرڻ ۽ ان کي هلائڻ جي ضرورت آهي. اهو مون لاء هڪ چئلينج بڻجي ويو. نتيجي طور، تمام گهڻي آزمائش کان پوء، مون محسوس ڪيو ته گٿب تي فائل ٺاهڻ آسان ٿي ويندي جيڪا توهان کي ڪنسول ۾ ڪمانڊ استعمال ڪندي ڪوڊ کي اپڊيٽ ڪرڻ جي اجازت ڏئي ٿي. مون تي هڪ اڪائونٽ رجسٽر ڪيو GitHub ۽ ڪيو نئون منصوبو، جتي مون فائل اپ لوڊ ڪئي. ان کان پوء، مون کي ڄاڻڻ جي ضرورت هئي ته ڪيئن اپلوڊ فائلن کي سيٽ ڪرڻ لاء منهنجي اڪائونٽ (اوپن!) مان سرور تي بوٽ فولڊر ۾ (جيڪڏهن توهان اوچتو ان کي ڇڏي ڏيو، صرف لکندا سي ڊي بوٽ).

7. گيتب حصو 2 ذريعي سرور تي فائلن کي ڪيئن اپلوڊ ڪجي

مون کي سرور تي هڪ پروگرام انسٽال ڪرڻ جي ضرورت هئي جيڪا فائلن کي گيٽ مان ڊائون لوڊ ڪندي. مون ڪنسول ۾ ٽائپ ڪندي سرور تي گٽ انسٽال ڪيو

apt-get install git

ان کان پوء مون کي فائل اپلوڊ کي ترتيب ڏيڻ جي ضرورت آهي. هن کي ڪرڻ لاء، مون کي حڪم لائن ۾ ٽائيپ ڪيو

git clone git://github.com/b0tank/bot.git bot

نتيجي طور، پروجيڪٽ مان سڀڪنھن شيء کي سرور تي اپ لوڊ ڪيو ويو. هن اسٽيج تي غلطي اها هئي ته مون لازمي طور تي اڳ ۾ ئي موجود بوٽ فولڊر اندر هڪ ٻيو فولڊر ٺاهيو. فائل جو پتو */bot/bot/index.js وانگر نظر آيو

مون هن مسئلي کي نظر انداز ڪرڻ جو فيصلو ڪيو.

۽ ٽيليگراف لائبريري کي لوڊ ڪرڻ لاءِ، جنهن کي اسان ڪوڊ جي پهرين لائن ۾ درخواست ڪريون ٿا، ڪنسول ۾ ڪمانڊ ٽائپ ڪريو.

npm install telegraf

8. بوٽ ڪيئن لانچ ڪجي

ائين ڪرڻ لاءِ، فولڊر ۾ فائل سان گڏ (ڪونسول ذريعي فولڊر کان فولڊر ڏانھن منتقل ڪرڻ لاءِ، فارميٽ ڪمانڊ کي ھلايو. cd bot پڪ ڪرڻ لاءِ ته توهان آهيو جتي توهان کي هجڻ جي ضرورت آهي، توهان هڪ حڪم داخل ڪري سگهو ٿا جيڪو ڪنسول ۾ ڏيکاريندو سڀ فائلون ۽ فولڊر جيڪي اتي آهن. ls -a

شروع ڪرڻ لاء، مان ڪنسول ۾ داخل ٿيو

node index.js

جيڪڏهن ڪا غلطي ناهي، سڀ ڪجهه ٺيڪ آهي، بوٽ ڪم ڪري رهيو آهي. ٽيليگرام تي هن کي ڳوليو. جيڪڏھن ڪو نقص آھي، پنھنجي ڄاڻ کي پوائنٽ 1 کان لاڳو ڪريو.

9. پس منظر ۾ بوٽ کي ڪيئن هلائڻ

تمام جلدي توهان کي احساس ٿيندو ته بوٽ صرف ڪم ڪري ٿو جڏهن توهان پاڻ ڪنسول ۾ ويٺا آهيو. هن مسئلي کي حل ڪرڻ لاء مون حڪم استعمال ڪيو

screen

ان کان پوء، ڪجهه متن سان هڪ اسڪرين ظاهر ٿيندو. هن جو مطلب آهي ته سڀ ڪجهه ٺيڪ آهي. توهان ڪلائوڊ سرور تي ورچوئل سرور تي آهيو. بهتر سمجهڻ لاءِ ته اهو سڀ ڪيئن ڪم ڪري ٿو - هتي مضمون آهي. بس پنھنجي فولڊر ڏانھن وڃو ۽ بوٽ لانچ ڪرڻ لاءِ حڪم داخل ڪريو

node index.js

10. بوٽ ڪيئن ڪم ڪري ٿو ۽ ان جي ڪارڪردگي کي ڪيئن وڌايو وڃي

اسان جو مثال بوٽ ڇا ڪري سگھي ٿو؟ هي ڪري سگهي ٿو

bot.start((ctx) => ctx.reply('Welcome!'))

چئو "خوش آمديد!" شروعات جي وقت (ٽيڪسٽ تبديل ڪرڻ جي ڪوشش ڪريو)

bot.help((ctx) => ctx.reply('Send me a sticker'))

معياري / مدد حڪم جي جواب ۾، پيغام موڪليو "مون کي هڪ اسٽيڪر موڪليو"

bot.on('sticker', (ctx) => ctx.reply(''))

هڪ اسٽيڪر جي جواب ۾ منظوري موڪليو

bot.hears('hi', (ctx) => ctx.reply('Hey there'))

جواب ڏيو "هي اتي" جيڪڏهن اهي هن ڏانهن "هيلو" لکندا
bot.launch()

ھدايت: پروگرامنگ ۾ شروعات ڪندڙ لاءِ JS ۾ ھڪڙو سادو ٽيليگرام بوٽ ڪيئن ٺاھيو

جيڪڏهن توهان ڪوڊ تي نظر اچن ٿا GitHubته پوءِ توهان جلدي سمجهي ويندؤ ته مان هن ڪارڪردگيءَ کان گهڻو پري نه ويو آهيان. جيڪو فعال طور تي استعمال ڪيو ويندو آهي اهو فنڪشن آهي ctx.replyWithPhoto اهو توهان کي اجازت ڏئي ٿو ته هڪ مخصوص تصوير يا GIF موڪلڻ لاء هڪ مخصوص متن جي جواب ۾.

ڪوڊ جو هڪ اهم حصو 11-13 سالن جي ٻارن پاران لکيل هو، جن کي مون بوٽ تائين رسائي ڏني. انهن پنهنجي يوزر ڪيس داخل ڪيو. منهنجو خيال آهي ته اهو ٻڌائڻ آسان آهي ته ڪهڙو حصو انهن طرفان ٺاهيو ويو هو.

مثال طور، پيغام "جيڪ" ڪارٽون ايڊونچر ٽائيم مان هڪ مشهور ڪردار سان گڏ هڪ GIF وصول ڪندو.

ھدايت: پروگرامنگ ۾ شروعات ڪندڙ لاءِ JS ۾ ھڪڙو سادو ٽيليگرام بوٽ ڪيئن ٺاھيو

بوٽ کي اڳتي وڌائڻ لاءِ، توهان کي ڪيبورڊ ڳنڍڻو پوندو، مثال ڏسو، مثال طور، هتي کان

11. ڪوڊ کي ڪيئن اپڊيٽ ڪيو ۽ بوٽ کي ٻيهر شروع ڪيو

اهو نه وساريو ته توهان کي ڪوڊ اپڊيٽ ڪرڻ جي ضرورت آهي نه رڳو گٿب تي، پر سرور تي پڻ. اهو ڪرڻ آسان آهي - بوٽ کي روڪيو (دٻايو ctrl+c)،

- ڪنسول ۾ داخل ڪريو جڏهن ٽارگيٽ فولڊر ۾، git pull
- اسان بوٽ کي ٻيهر حڪم سان لانچ ڪيو node index.js

END

هن فائل ۾ بيان ڪيل ڪيتريون ئي شيون ترقي يافته پروگرامرز لاءِ واضح هونديون. تنهن هوندي، جڏهن مون پاڻ کي هڪ ئي گري ۾ بوٽن جي دنيا ڏانهن ڇڪڻ جي ڪوشش ڪئي، مون واقعي اهڙي گائيڊ کي وڃايو. ھڪڙو ھدايت جيڪو شيون نه وڃايو جيڪي واضح ۽ سادي آھن ڪنھن IT ماهر لاءِ.

مستقبل ۾، مان هڪ پوسٽ جي منصوبابندي ڪري رهيو آهيان ته توهان جي پهرين درخواست ڪيئن ٺاهيو ReactNative تي ساڳئي انداز ۾، رڪنيت حاصل ڪريو!

جو ذريعو: www.habr.com

تبصرو شامل ڪريو