Yandex.Cloud ۾ ٽيليگرام بوٽ ٺاهڻ

Yandex.Cloud ۾ ٽيليگرام بوٽ ٺاهڻ

اڄ، سڌاريل مواد مان، اسان گڏ ڪنداسين Yandex.Cloud ٽيليگرام بوٽ استعمال ڪندي Yandex Cloud افعال (يا Yandex افعال اختصار لاءِ) ۽ Yandex آبجیکٹ اسٽوريج (يا آبجیکٹ اسٽوريج - وضاحت لاءِ). ڪوڊ تي هوندو Node.js. تنهن هوندي، اتي هڪ غير معمولي صورتحال آهي - هڪ خاص تنظيم سڏيو ويندو آهي، اچو ته چوندا آهن، RossKom سينسرشپ (سينسرشپ روسي فيڊريشن جي آئين جي آرٽيڪل 29 پاران منع ٿيل آهي)، روس ۾ انٽرنيٽ فراهم ڪندڙ کي اجازت نه ڏيندو آهي ته درخواستن کي منتقل ڪرڻ لاء ٽيليگرام API ايڊريس تي https://api.telegram.org/. خير، اسان نه ڪنداسين - نه، نه. درحقيقت، اسان جي ٿلهي ۾ نام نهاد آهن. webhooks - انهن جي مدد سان، اسان هڪ مخصوص ايڊريس تي درخواستون نه ڪندا آهيون، پر صرف اسان جي درخواست موڪليندا آهيون اسان کي ڪنهن به درخواست جي جواب جي طور تي. اهو آهي، جيئن اوڊيسا ۾ - اسان هڪ سوال سان هڪ سوال جو جواب ڏيو. هن ڪري ٽيليگرام API اسان جي ڪوڊ ۾ ظاهر نه ٿيندو.

رد ڪرڻهن آرٽيڪل ۾ ذڪر ڪيل ڪنهن به رياستي تنظيمن جا نالا فرضي آهن، ۽ حقيقي زندگي جي تنظيمن جي نالن سان ممڪن اتفاقي آهي.

تنهن ڪري، اسان هڪ بوٽ ٺاهينداسين جيڪو اسان کي سمارمن خيالن سان فراهم ڪندو. بلڪل جيئن تصوير ۾:

Yandex.Cloud ۾ ٽيليگرام بوٽ ٺاهڻ

توھان ان کي عمل ۾ آزمائي سگھو ٿا - ھي نالو آھي: @SmartThoughtsBot. بٽڻ کي نوٽ ڪريو "ايلس جي مهارت"؟ اهو ئي سبب آهي ته بوٽ هڪ قسم جو "ساٿي" جي نالي سان آهي ايلس جي مهارت، i.e. اهو ساڳيو افعال انجام ڏئي ٿو ايلس جي مهارت ۽، شايد، ته اهي هڪ ٻئي سان پرامن طور تي هڪ ٻئي جي تشهير ڪري سگهن ٿا. ڪيئن ٺاھڻ جي باري ۾ سمارٽ سوچ جي مهارت مضمون ۾ بيان ڪيو ويو آهي ايلس مهارت حاصل ڪري ٿي. هاڻي (مٿين آرٽيڪل جي اشاعت کان پوء ڪجهه تبديليون ڪرڻ کان پوء) هڪ اسمارٽ فون تي هي مهارت ڪجهه هن طرح نظر ايندو:

Yandex.Cloud ۾ ٽيليگرام بوٽ ٺاهڻ

بوٽ جي تخليق

مان چاهيان ٿو ته هي سبق هر ڪنهن لاءِ ڪارآمد هجي، بشمول. ۽ شروعاتي "بوٽ تعمير ڪندڙ". تنهن ڪري، هن حصي ۾ آئون ڪجهه تفصيل سان بيان ڪندس ته ڪيئن عام طور تي ٺاهيو وڃي تاراي بوٽس. انهن لاءِ جن کي هن معلومات جي ضرورت ناهي، اڳتي وڌو ايندڙ حصن ڏانهن.

اپليڪيشن کوليو ٽيليگارام، اسان سڀني بوٽن جو پيءُ سڏيندا آهيون (انهن وٽ هر شيءِ ماڻهن وانگر آهي) - @ ڇوڪرو پيءُ - ۽ شروع ڪرڻ سان، اسان کيس / مدد جو حڪم ڏينداسين ته جيئن اسان جي يادگيري کي تازو ڪري سگھون جيڪو اسان ڪري سگھون ٿا. هاڻي اسان کي ٽيم ۾ دلچسپي آهي / newbot.

Yandex.Cloud ۾ ٽيليگرام بوٽ ٺاهڻ

جيئن ته هتي بيان ڪيل بوٽ اڳ ۾ ئي ٺاهي چڪو آهي، نمائش جي مقصدن لاء، مان ٿوري وقت لاء هڪ ٻيو بوٽ ٺاهيندس (پوء مان ان کي حذف ڪندس). مان کيس سڏيندس DemoHabrBot. نالا (کاتي جو نالو) سڀ ٽيليگرام بوٽ هڪ لفظ سان ختم ٿيڻ گهرجن بوٽمثال طور MyCoolBot يا my_cool_bot هي بوٽن لاء آهي. پر پهرين، بوٽ کي نالو ڏيو (نالو) ماڻهن لاءِ آهي. نالو ڪنهن به ٻولي ۾ ٿي سگهي ٿو، خالن تي مشتمل آهي، لفظ سان ختم ٿيڻ نه گهرجي بوٽ، ۽ ان کي به منفرد هجڻ ضروري ناهي. هن مثال ۾، مون هن بوٽ کي سڏيو ڊيمو حبر.

Yandex.Cloud ۾ ٽيليگرام بوٽ ٺاهڻ

هاڻي بوٽ لاءِ نالو چونڊيو (کاتي جو نالو، هڪ بوٽن لاءِ). اچو ته ان کي سڏيو DemoHabrBot. بوٽ جي نالي سان لاڳاپيل سڀ ڪجهه (نالوهن جي نالي سان ڪوبه واسطو نه آهي - کاتي جو نالو (يا لاڳو ٿئي ٿو، پر بلڪل سامهون). ڪاميابيءَ سان ھڪ منفرد بوٽ جو نالو ٺاھڻ کان پوءِ، اسان کي ڳاڙھي تير سان اسڪرين شاٽ ۾ ڏيکاريل ٽوڪن (سخت اعتماد ۾!) ڪاپي ۽ محفوظ ڪرڻ جي ضرورت آھي. ان جي مدد سان، اسان بعد ۾ ٻاهر نڪرڻ واري کي نصب ڪنداسين تاراسان جي لاء هڪ webhook Yandex فنڪشن.

Yandex.Cloud ۾ ٽيليگرام بوٽ ٺاهڻ

۽ هاڻي اسان سڀني بوٽن جي پيء کي حڪم ڏينداسين: /mybots۽ اهو اسان کي ڏيکاريندو سڀني بوٽن جي هڪ فهرست جيڪو اسان ٺاهيو آهي. اچو ته تازو پڪل بوٽ کي ھاڻي اڪيلو ڇڏي ڏيو ڊيمو حبر (اهو ٺاهيو ويو ته ڏيکاريو ته بوٽ ڪيئن ٺاهيا وڃن، پر اسان اڄ ان کي استعمال ڪنداسين ٻين مظاهرين جي مقصدن لاء)، ۽ bot تي غور ڪريو سمارٽ خيالات (@SmartThoughtsBot). بٽڻ تي ڪلڪ ڪريو ان جي نالي سان بوٽن جي لسٽ ۾.

Yandex.Cloud ۾ ٽيليگرام بوٽ ٺاهڻ

هي اهو آهي جتي اسان پنهنجو بوٽ سيٽ ڪري سگهون ٿا. بٽڻ دٻائڻ ترميم ڪريو... اسان اڳتي وڌنداسين ھڪڙي يا ٻئي اختيار کي تبديل ڪرڻ لاء. مثال طور، بٽڻ تي ڪلڪ ڪندي نالي ۾ تبديلي آڻيو اسان بوٽ جو نالو تبديل ڪري سگھون ٿا، ان جي بدران سمارٽ خيالات، لکڻ چريو خيال. بوٽپڪ - هي بوٽ جو اوتار آهي، گهٽ ۾ گهٽ هجڻ گهرجي 150 x 150 px. وضاحت هڪ مختصر وضاحت آهي ته صارف ڏسي ٿو جڏهن بوٽ پهريون ڀيرو شروع ڪيو ويو آهي، سوال جي جواب جي طور تي: هي بوٽ ڇا ڪري سگهي ٿو؟ بابت - هڪ اڃا به ننڍو بيان، جيڪو بوٽ جي لنڪ سان منتقل ڪيو ويو آهي (https://t.me/SmartThoughtsBot) يا جڏهن ان بابت معلومات ڏسي رهيا آهيو.

Yandex.Cloud ۾ ٽيليگرام بوٽ ٺاهڻ

اسان کي صرف حڪم قائم ڪرڻ جي ضرورت آهي. هن کي ڪرڻ لاء، بٽڻ کي دٻايو حڪمن کي تبديل ڪريو. صارف جي عملن کي معياري ڪرڻ لاء تار سفارش ڪري ٿو هميشه ٻن حڪمن کي استعمال ڪندي: /شروع и / مدد، ۽ جيڪڏهن بوٽ کي سيٽنگن جي ضرورت آهي - هڪ اضافي /settings حڪم. اسان جو بوٽ هڪ بال وانگر سادو آهي، تنهنڪري ان کي اڃا تائين ڪنهن به سيٽنگ جي ضرورت ناهي. اسان پهريان ٻه ڪمانڊ لکون ٿا، جن کي پوءِ ڪوڊ ۾ پروسيس ڪنداسين. هاڻي، جيڪڏهن صارف ان پٽ فيلڊ ۾ سليش (slash : /) داخل ڪري ٿو، انهن جي تڪڙي چونڊ لاءِ حڪمن جي هڪ فهرست ظاهر ٿيندي. هر شي تصوير ۾ آهي: کاٻي پاسي - اسان بوٽ پيء جي ذريعي حڪم قائم ڪيو؛ ساڄي پاسي، اهي حڪم اڳ ۾ ئي موجود آهن صارفين لاءِ اسان جي بوٽن ۾.

Yandex.Cloud ۾ ٽيليگرام بوٽ ٺاهڻ

Yandex فنڪشن

هاڻي ته اسان جو بوٽ ٺاهيو ويو آهي، اچو ته وڃو Yandex.Cloudھڪڙو فنڪشن ٺاھيو جيڪو اسان جي بوٽ ڪوڊ تي عمل ڪندو. جيڪڏهن توهان ڪم نه ڪيو آهي Yandex.Cloud مواد پڙهو بيٽريڪس جي زمين ۾ ايلس، ۽ پوء - Yandex فنڪشن ميل موڪليو. مون کي لڳ ڀڳ پڪ آهي ته اهي ٻه نسبتاً ننڍڙا مضمون توهان لاءِ ڪافي هوندا ته موضوع جي بنيادي ڄاڻ حاصل ڪرڻ لاءِ.

تنهنڪري ڪنسول ۾ Yandex.Clouds کاٻي نيويگيشن مينيو ۾، شيون چونڊيو بادل افعال، ۽ پوءِ بٽڻ دٻايو هڪ فنڪشن ٺاهيو. اسان ان کي هڪ نالو ڏيو، ۽ پاڻ لاء - هڪ مختصر بيان.

Yandex.Cloud ۾ ٽيليگرام بوٽ ٺاهڻ

بٽڻ د pressائڻ کان پوءِ پيدا ۽ ڪجھ سيڪنڊن کان پوء، نئين فنڪشن سڀني ڪمن جي فهرست ۾ ظاهر ٿيندو. هن جي نالي تي ڪلڪ ڪريو - هي اسان کي صفحي ڏانهن وٺي ويندي جو جائزو اسان جي فنڪشن. هتي توهان کي فعال ڪرڻ جي ضرورت آهيOn) سوئچ عوامي فنڪشنان کي ٻاهرين مان دستياب ڪرڻ لاءِ (لاء Yandex.Clouds) دنيا جو، ۽ شعبن جو قدر ڪال ڪرڻ لاءِ لنڪ и سڃاڻڻ وارو - ان کي پنهنجي ۽ ٽيليگرام کان سواءِ سڀني کان تمام گهڻي رازداري ۾ رکو، ته جيئن مختلف قسم جا ٺڳي ڪندڙ توهان جي فنڪشن کي ڪال نه ڪري سگهن.

Yandex.Cloud ۾ ٽيليگرام بوٽ ٺاهڻ

ھاڻي کاٻي مينيو استعمال ڪندي ڏانھن وڃو ايڊ ايڊيٽر افعال اچو ته اسان کي هڪ لمحي لاء هڪ طرف رکون سمارٽ خيالات، ۽ اسان جي بوٽ جي ڪارڪردگي کي جانچڻ لاءِ هڪ گهٽ ۾ گهٽ ٽيمپليٽ فنڪشن ٺاهيو ... بهرحال، ان حوالي سان، هي فنڪشن اسان جو بوٽ آهي ... مختصر ۾، هاڻي ۽ هتي اسان آسان ترين بوٽ ٺاهينداسين جيڪو "عڪس" ( يعني واپس موڪليو ) صارف جون درخواستون. هي ٽيمپليٽ هميشه استعمال ڪري سگهجي ٿو جڏهن نوان ٽيليگرام بوٽ ٺاهي رهيا آهن انهي کي يقيني بڻائڻ لاءِ ته رابطي سان ٽيليگراماوم ٺيڪ ڪم ڪري ٿو. ڪلڪ ڪريو فائل ٺاهيو، سڏيو index.js، ۽ آن لائن ڪوڊ ايڊيٽر ھن فائل ۾ ھيٺ ڏنل ڪوڊ پيسٽ ڪريو:

module.exports.bot = async (event) => {
  
  const body = JSON.parse(event.body);

  const msg = {
    'method': 'sendMessage',
    'chat_id': body.message.chat.id,
    'text': body.message.text
  };

  return {
    'statusCode': 200,
    'headers': {
      'Content-Type': 'application/json'
    },
    'body': JSON.stringify(msg),
    'isBase64Encoded': false
  };
};

Yandex.Cloud ڪنسول ۾، اهو ڪجهه هن طرح ڏسڻ گهرجي:

Yandex.Cloud ۾ ٽيليگرام بوٽ ٺاهڻ

هيٺ، اسان اشارو ڪريون ٿا داخلا پوائنٽ - index.botڪٿي اشهد ھي آھي فائل جو نالو (index.js)، ۽ بوٽ - فنڪشن جو نالو (module.exports.bot). ٻين سڀني شعبن کي ڇڏي ڏيو "جيئن آھي"، ۽ مٿي ساڄي ڪنڊ ۾ بٽڻ تي ڪلڪ ڪريو نسخو ٺاهيو. ڪجھ سيڪنڊن کان پوء، فنڪشن جو هي نسخو ٺاهيو ويندو. جلد ئي جاچ پڙتال webhook، اسان هڪ نئون ورزن ٺاهينداسين - سمارٽ خيالات.

Yandex.Cloud ۾ ٽيليگرام بوٽ ٺاهڻ

آبجیکٹ اسٽوريج

هاڻي ته اسان قائم ڪيو آهي Yandex فنڪشناچو ته هلون جڏهن اسان ڪنسول ۾ آهيون Yandex.Clouds، هڪ نالي سان ٺاهيو. بالٽ (بتيٽ، i.e. روسي ۾ هڪ بالٽ، ڪنهن به طرح هڪ گلدستا) تصويرن جي فائلن کي محفوظ ڪرڻ لاء جيڪو اسان جي بوٽن ۾ استعمال ڪيو ويندو سمارٽ خيالات. منتخب ڪريو کاٻي نيويگيشن مينيو مان شيون ذخيرو، بٽڻ دٻايو بٽ ٺاهيو، ان کي نالو ڏيو، مثال طور، img-بالٽ۽، سڀ کان اهم، شيون پڙهڻ جي رسائي ان کي عام ڪريو - ٻي صورت ۾ ٽيليگرام اسان جون تصويرون نه ڏسندا. باقي سڀئي شعبا اڻڄاتل رهجي ويا آهن. اسان بٽڻ کي دٻايو بٽ ٺاهيو.

Yandex.Cloud ۾ ٽيليگرام بوٽ ٺاهڻ

ان کان پوء، سڀني بالٽ جي هڪ فهرست شايد ڪجهه هن طرح نظر اچي ٿي (جيڪڏهن اهو توهان جي واحد بالٽ آهي):

Yandex.Cloud ۾ ٽيليگرام بوٽ ٺاهڻ

ھاڻي مان تجويز ڪريان ٿو ته بالٽ جي نالي تي ڪلڪ ڪريو، ۽ ان جي اندر مختلف ايپليڪيشنن لاء تصويرن جي اسٽوريج کي منظم ڪرڻ لاء فولڊر ٺاھيو. مثال طور، ٽيليگرام بوٽ لاءِ سمارٽ خيالات مون هڪ فولڊر ٺاهيو جنهن جو نالو آهي tg-bot-سمارٽ-سوچ (ڪجهه به نه، مان هن سيفر کي سمجهي ويندس). ھڪڙو پڻ ٺاھيو.

Yandex.Cloud ۾ ٽيليگرام بوٽ ٺاهڻ

هاڻي توهان فولڊر جي نالي تي ڪلڪ ڪري سگهو ٿا، ان ۾ وڃو ۽ فائلون اپلوڊ ڪريو:

Yandex.Cloud ۾ ٽيليگرام بوٽ ٺاهڻ

۽ فائل جي نالي تي ڪلڪ ڪندي - حاصل ڪريو URL جو اسان جي بوٽن ۾ استعمال لاء، ۽ عام طور تي - ڪٿي به (پر، هن کي شايع نه ڪريو URL جو غير ضروري طور تي، ٽريفڪ کان وٺي اعتراض رکڻ چارج ٿيل).

Yandex.Cloud ۾ ٽيليگرام بوٽ ٺاهڻ

هتي، حقيقت ۾، اهو سڀ ڪجهه آهي اعتراض رکڻ. هاڻي توهان کي معلوم ٿيندو ته ڇا ڪجي جڏهن توهان اتي فائلون اپلوڊ ڪرڻ جو اشارو ڏسندا.

ويب ڇڪ

هاڻي اسان انسٽال ڪنداسين webhook - يعني جڏهن بوٽ هڪ تازه ڪاري حاصل ڪري ٿو (مثال طور، صارف کان هڪ پيغام)، سرور کان تار اسان ۾ Yandex فنڪشن درخواست موڪلي وينديدرخواستڊيٽا سان گڏ. هتي هڪ اسٽرنگ آهي جنهن کي توهان صرف برائوزر جي ايڊريس فيلڊ ۾ پيسٽ ڪري سگهو ٿا، ۽ پوءِ صفحي کي ريفريش ڪريو (اهو صرف هڪ ڀيرو ٿيڻ جي ضرورت آهي): https://api.telegram.org/bot{bot_token}/setWebHook?url={webhook_url}
بس مٽايو {bot_token} ٽوڪن ڏانهن جيڪو اسان پيءُ بوٽ کان حاصل ڪيو جڏهن اسان جو بوٽ ٺاهي رهيا هئاسين، ۽ {webhook_url} - تي URL جو اسان جي Yandex افعال. هڪ منٽ ترسو! پر RossKom سينسرشپ روسي فيڊريشن ۾ مهيا ڪندڙن کي ايڊريس جي خدمت ڪرڻ کان منع ڪري ٿو https://api.telegram.org. ها اهو صحيح آهي. پر توهان ڪجهه سوچي سگهو ٿا. آخرڪار، توهان ڪري سگهو ٿا، مثال طور، توهان جي ناني کان ان بابت يوڪرين، اسرائيل يا ڪئناڊا ۾ پڇو - اتي ڪو به "روسي سينسرشپ" ناهي، ۽ صرف خدا ڄاڻي ٿو ته ماڻهو ان کان سواء ڪيئن رهن ٿا. نتيجي طور، ويب هڪ کي انسٽال ڪرڻ وقت درخواست جو جواب هن طرح ڏسڻ گهرجي:

Yandex.Cloud ۾ ٽيليگرام بوٽ ٺاهڻ

جاچڻ. آئينو ٿيڻ گهرجي.

Yandex.Cloud ۾ ٽيليگرام بوٽ ٺاهڻ

هي سچ آهي. اسان جون مبارڪون - هاڻي Yandex فنڪشن ٿي ويو تار-بوٽ!

سمارٽ خيالات

۽ هاڻي اسان سمارٽ سوچون ڪندا آهيون. ڪوڊ کليل آهي ۽ ڪوڙ تي آهي GitHub. اهو تمام سٺو تبصرو آهي، ۽ اهو صرف هڪ سئو لائين ڊگهو آهي. ان کي پڙهو هڪ اوپرا ديوا لبريٽو وانگر!

Yandex.Cloud ۾ ٽيليگرام بوٽ ٺاهڻ

منصوبي کي ڪلون ڪريو ۽ انحصار کي انسٽال ڪريو:

git clone https://github.com/stmike/tg-bot-smart-thoughts.git
cd tg-bot-smart-thoughts
npm i

تبديل ڪريو جيڪي توھان کي فائل ۾ گهربل آھن index.js (اختياري؛ توهان ڪجھ به تبديل نٿا ڪري سگهو). ٺاهيو زپ- آرڪائيو، فائل سان index.js ۽ فولڊر نوڊ_ ماڊلول اندر، مثال طور، سڏيو ويندو آهي smart.zip.

Yandex.Cloud ۾ ٽيليگرام بوٽ ٺاهڻ

ھاڻي اسان جي ڪنسول ڏانھن وڃو Yandex افعال، ٽيب چونڊيو ZIP آرڪائيو، بٽڻ دٻايو هڪ فائل چونڊيو۽ اسان جو آرڪائيو ڊائون لوڊ ڪريو smart.zip. آخر ۾، مٿي ساڄي ڪنڊ ۾، بٽڻ تي ڪلڪ ڪريو نسخو ٺاهيو.

Yandex.Cloud ۾ ٽيليگرام بوٽ ٺاهڻ

ڪجھ سيڪنڊن ۾، جڏهن فنڪشن اپڊيٽ ڪيو ويندو، اسان اسان جي بوٽ کي ٻيهر جانچ ڪنداسين. هاڻي هو ”عڪس“ نه رهيو آهي، پر هوشيار خيالن کي پهچائي ٿو!

Yandex.Cloud ۾ ٽيليگرام بوٽ ٺاهڻ

اهو سڀ ڪجهه اڄ لاءِ آهي. ٻيا مضمون هيٺ ڏجن ٿا. جيڪڏھن توھان ھن کي پڙھڻ ۾ دلچسپي رکو ٿا، نون مضمونن جي اطلاعن جي رڪنيت حاصل ڪريو. توھان رڪنيت حاصل ڪري سگھو ٿا هتي يا تار-چئنل آئي ٽي سبق Zakharيا Twitter @mikezaharov.

حوالن

GitHub تي ڪوڊ
Yandex Cloud افعال
Yandex آبجیکٹ اسٽوريج
بوٽس: ڊولپرز لاء هڪ تعارف
ٽيليگرام بوٽ API

عطيو

Yandex.Cloud ۾ ٽيليگرام بوٽ ٺاهڻ

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

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