Yandex.Cloud میں ٹیلیگرام بوٹ بنانا

Yandex.Cloud میں ٹیلیگرام بوٹ بنانا

آج، دیسی ساختہ مواد سے، ہم جمع کریں گے۔ Yandex.Cloud ٹیلیگرام بوٹ استعمال کرتے ہوئے Yandex کلاؤڈ فنکشنز (یا Yandex کے افعال اختصار کے لیے) اور Yandex آبجیکٹ اسٹوریج (یا آبجیکٹ اسٹوریج - وضاحت کے لئے)۔ کوڈ آن ہوگا۔ Node.js. تاہم، ایک عجیب و غریب صورت حال ہے - ایک مخصوص تنظیم جسے کہا جاتا ہے، آئیے کہتے ہیں، RossKomCensorship (سینسرشپ روسی فیڈریشن کے آئین کے آرٹیکل 29 کے ذریعہ ممنوع ہے)، روس میں انٹرنیٹ فراہم کرنے والوں کو درخواستیں منتقل کرنے کی اجازت نہیں دیتا ٹیلیگرام API ایڈریس پر: https://api.telegram.org/. ٹھیک ہے، ہم نہیں کریں گے - نہیں، نہیں. بے شک، ہمارے بیگ میں نام نہاد ہیں. ویب ہکس - ان کی مدد سے، ہم کسی مخصوص ایڈریس پر درخواستیں نہیں کرتے ہیں، بلکہ صرف ہمیں کسی بھی درخواست کے جواب کے طور پر اپنی درخواست بھیجتے ہیں۔ یہ ہے، جیسا کہ اوڈیسا میں - ہم ایک سوال کے ساتھ ایک سوال کا جواب دیتے ہیں. اس لیے ٹیلیگرام API ہمارے کوڈ میں ظاہر نہیں ہوگا۔

دستبرداریاس آرٹیکل میں مذکور کسی بھی ریاستی تنظیموں کے نام فرضی ہیں، اور حقیقی زندگی کی تنظیموں کے ناموں کے ساتھ ممکنہ اتفاقات حادثاتی ہیں۔

لہذا، ہم ایک بوٹ بنائیں گے جو ہمیں سمارٹ خیالات فراہم کرے گا۔ بالکل تصویر کی طرح:

Yandex.Cloud میں ٹیلیگرام بوٹ بنانا

آپ اسے عملی طور پر آزما سکتے ہیں - نام یہ ہے: @SmartThoughtsBot. بٹن پر توجہ دیں۔ "ایلس کی مہارت"? اس کی وجہ یہ ہے کہ بوٹ نام کے لیے ایک قسم کا "ساتھی" ہے۔ ایلس کی مہارت، یعنی یہ اسی طرح کے افعال انجام دیتا ہے۔ ایلس کی مہارت اور، شاید، کہ وہ ایک دوسرے کی تشہیر کرتے ہوئے پرامن طور پر ایک ساتھ رہ سکتے ہیں۔ بنانے کے طریقے کے بارے میں سمارٹ سوچ کی مہارت مضمون میں بیان کیا گیا ہے۔ ایلس کو مہارت ملتی ہے۔. اب (مذکورہ مضمون کی اشاعت کے بعد کچھ تبدیلیاں کرنے کے بعد) اسمارٹ فون پر یہ مہارت کچھ اس طرح نظر آئے گا:

Yandex.Cloud میں ٹیلیگرام بوٹ بنانا

بوٹ کی تخلیق

میں چاہوں گا کہ یہ ٹیوٹوریل سب کے لیے مفید ہو، بشمول۔ اور ابتدائی "بوٹ بلڈرز"۔ لہذا، اس سیکشن میں میں کچھ تفصیل سے بیان کروں گا کہ کس طرح عام طور پر تخلیق کرنا ہے تارای بوٹس۔ ان لوگوں کے لیے جنہیں اس معلومات کی ضرورت نہیں ہے، اگلے حصوں پر جائیں۔

درخواست کھولیں۔ ٹیلیگرام، ہم تمام بوٹس کا باپ کہتے ہیں (ان کے پاس لوگوں کی طرح سب کچھ ہے) - ٹویٹ ایمبیڈ کریں - اور اس کے ساتھ شروع کرنے کے لیے، ہم اسے / مدد کا کمانڈ دیں گے تاکہ ہم کیا کر سکتے ہیں کی اپنی یادداشت کو تازہ کردے۔ اب ہم ٹیم میں دلچسپی رکھتے ہیں۔ / newbot.

Yandex.Cloud میں ٹیلیگرام بوٹ بنانا

چونکہ یہاں بیان کردہ بوٹ پہلے ہی بن چکا ہے، اس لیے مظاہرے کے مقاصد کے لیے میں مختصر وقت کے لیے ایک اور بوٹ بناؤں گا (پھر میں اسے حذف کردوں گا)۔ میں اسے فون کروں گا۔ DemoHabrBot. نام (کا صارف کا نام) تمام ٹیلیگرام بوٹس ایک لفظ کے ساتھ ختم ہونے چاہئیں بوٹمثال کے طور پر: مائی کول بوٹ یا my_cool_bot یہ بوٹس کے لیے ہے۔ لیکن پہلے، بوٹ کو ایک نام دیں (نام) لوگوں کے لیے ہے۔ نام کسی بھی زبان میں ہو سکتا ہے، خالی جگہوں پر مشتمل ہو سکتا ہے، کسی لفظ کے ساتھ ختم ہونا ضروری نہیں ہے۔ بوٹ، اور منفرد ہونا بھی ضروری نہیں ہے۔ اس مثال میں، میں نے اس بوٹ کو بلایا ڈیمو ہیبر.

Yandex.Cloud میں ٹیلیگرام بوٹ بنانا

اب بوٹ کے لیے ایک نام منتخب کریں (کا صارف کا نام، بوٹس کے لئے ایک)۔ آئیے اسے کال کریں۔ DemoHabrBot. بوٹ کے نام سے متعلق ہر چیز (ناماس کے نام سے قطعی تعلق نہیں ہے - کا صارف کا نام (یا لاگو ہوتا ہے، لیکن بالکل اس کے برعکس)۔ کامیابی کے ساتھ ایک منفرد بوٹ نام بنانے کے بعد، ہمیں سرخ تیر کے ساتھ اسکرین شاٹ میں دکھائے گئے ٹوکن کو (سخت ترین اعتماد کے ساتھ!) کاپی کرنے اور محفوظ کرنے کی ضرورت ہے۔ اس کی مدد سے، ہم بعد میں آؤٹ گوئنگ انسٹال کریں گے۔ تار'ہمارے لئے ایک ویب ہک یانڈیکس فنکشن.

Yandex.Cloud میں ٹیلیگرام بوٹ بنانا

اور اب ہم تمام بوٹس کے باپ کو حکم دیں گے: /mybotsاور یہ ہمیں ان تمام بوٹس کی فہرست دکھائے گا جو ہم نے بنائے ہیں۔ آئیے ابھی کے لیے تازہ پکی ہوئی بوٹ کو اکیلا چھوڑ دیں۔ ڈیمو ہیبر (یہ یہ بتانے کے لیے بنایا گیا تھا کہ بوٹس کیسے بنائے جائیں، لیکن ہم آج اسے دوسرے مظاہرے کے مقاصد کے لیے استعمال کریں گے)، اور بوٹ پر غور کریں سمارٹ خیالات (@SmartThoughtsBot)۔ بوٹس کی فہرست میں اس کے نام کے ساتھ بٹن پر کلک کریں۔

Yandex.Cloud میں ٹیلیگرام بوٹ بنانا

یہ وہ جگہ ہے جہاں ہم اپنا بوٹ ترتیب دے سکتے ہیں۔ بٹن دبانا ترمیم… ہم ایک یا دوسرے آپشن میں ترمیم کریں گے۔ مثال کے طور پر، بٹن پر کلک کرکے نام میں ترمیم کریں ہم بوٹ کا نام تبدیل کر سکتے ہیں، اس کے بجائے کہیں۔ سمارٹ خیالات، لکھنا پاگل خیالات. بوٹپک - یہ بوٹ کا اوتار ہے، کم از کم ہونا چاہیے۔ 150 150 X پکسلز. Description ایک مختصر تفصیل ہے جسے صارف دیکھتا ہے جب بوٹ پہلی بار لانچ کیا جاتا ہے، سوال کے جواب کے طور پر: یہ بوٹ کیا کر سکتا ہے؟ ہمارے بارے میں - اس سے بھی چھوٹی تفصیل، جو بوٹ کے لنک کے ساتھ منتقل کی جاتی ہے (https://t.me/SmartThoughtsBot) یا اس کے بارے میں معلومات دیکھتے وقت۔

Yandex.Cloud میں ٹیلیگرام بوٹ بنانا

ہمیں صرف کمانڈز ترتیب دینے کی ضرورت ہے۔ ایسا کرنے کے لیے، بٹن دبائیں کمانڈز میں ترمیم کریں۔. صارف کے طریقوں کو معیاری بنانے کے لیے تار ہمیشہ دو کمانڈ استعمال کرنے کی سفارش کرتا ہے: /شروع и / مدد، اور اگر بوٹ کو ترتیبات کی ضرورت ہے تو، ایک اضافی /settings کمانڈ۔ ہمارا بوٹ ایک گیند کی طرح سادہ ہے، اس لیے اسے ابھی کسی سیٹنگ کی ضرورت نہیں ہے۔ ہم پہلے دو کمانڈ لکھتے ہیں، جس پر ہم کوڈ میں عمل کریں گے۔ اب، اگر صارف ان پٹ فیلڈ میں سلیش (سلیش کریکٹر: /) داخل کرتا ہے، تو ان کے فوری انتخاب کے لیے کمانڈز کی فہرست ظاہر ہوگی۔ سب کچھ ویسا ہی ہے جیسا کہ تصویر میں ہے: بائیں طرف - ہم بوٹ فادر کے ذریعے حکم دیتے ہیں۔ دائیں طرف، یہ کمانڈز ہمارے بوٹ میں صارفین کے لیے پہلے ہی دستیاب ہیں۔

Yandex.Cloud میں ٹیلیگرام بوٹ بنانا

یانڈیکس فنکشن

اب جب کہ ہمارا بوٹ بن گیا ہے، چلتے ہیں۔ Yandex.Cloudایک فنکشن بنانے کے لیے جو ہمارے بوٹ کوڈ پر عمل درآمد کرے گا۔ اگر آپ کے ساتھ کام نہیں کیا ہے۔ Yandex.Cloud مواد پڑھیں Bitrix کی سرزمین میں ایلس، اور پھر - Yandex کے افعال میل بھیجتے ہیں۔. مجھے تقریباً یقین ہے کہ یہ دو نسبتاً چھوٹے مضامین آپ کے لیے موضوع کی بنیادی سمجھ کے لیے کافی ہوں گے۔

تو کنسول میں Yandex.Clouds بائیں نیویگیشن مینو میں، آئٹم کو منتخب کریں۔ کلاؤڈ فنکشنز، اور پھر بٹن دبائیں۔ ایک فنکشن بنائیں. ہم اسے ایک نام دیتے ہیں، اور اپنے لئے - ایک مختصر وضاحت.

Yandex.Cloud میں ٹیلیگرام بوٹ بنانا

بٹن دبانے کے بعد۔ تخلیق اور چند سیکنڈ کے بعد، نیا فنکشن تمام فنکشنز کی فہرست میں ظاہر ہوگا۔ اس کے نام پر کلک کریں - یہ ہمیں صفحہ پر لے جائے گا۔ کا جائزہ لیں ہماری تقریب. یہاں آپ کو فعال کرنے کی ضرورت ہے۔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)۔ باقی تمام فیلڈز کو "جیسا ہے" چھوڑ دیں، اور اوپری دائیں کونے میں بٹن پر کلک کریں۔ ورژن بنائیں. چند سیکنڈ کے بعد، فنکشن کا یہ ورژن بن جائے گا۔ جلد ہی جانچ کے بعد ویب ہک، ہم ایک نیا ورژن بنائیں گے۔ سمارٹ خیالات.

Yandex.Cloud میں ٹیلیگرام بوٹ بنانا

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

اب جب کہ ہم نے سیٹ اپ کر لیا ہے۔ یانڈیکس فنکشنجب ہم کنسول میں ہوں تو چلیں۔ Yandex.Clouds، ایک نام نہاد بنائیں۔ بالٹی (بالٹی، یعنی روسی میں بالٹی، کسی بھی طرح سے گلدستہ) تصویری فائلوں کو ذخیرہ کرنے کے لیے جو ہمارے بوٹ میں استعمال ہوں گی۔ سمارٹ خیالات. بائیں نیویگیشن مینو سے منتخب کریں۔ آبجیکٹ اسٹوریج، بٹن دبائیں بالٹی بنائیں، اسے ایک نام دیں، مثال کے طور پر، img-بالٹی، اور سب سے اہم، اشیاء تک رسائی پڑھیں اسے عوامی بنائیں - بصورت دیگر ٹیلیگرام ہماری تصویریں نہیں دیکھے گا۔ باقی تمام فیلڈز میں کوئی تبدیلی نہیں کی گئی ہے۔ ہم بٹن دباتے ہیں۔ بالٹی بنائیں.

Yandex.Cloud میں ٹیلیگرام بوٹ بنانا

اس کے بعد، تمام بالٹیوں کی فہرست کچھ اس طرح نظر آ سکتی ہے (اگر یہ آپ کی واحد بالٹی ہے):

Yandex.Cloud میں ٹیلیگرام بوٹ بنانا

اب میں تجویز کرتا ہوں کہ بالٹی کے نام پر کلک کریں، اور اس کے اندر ایک فولڈر بنائیں تاکہ مختلف ایپلی کیشنز کے لیے تصویروں کے ذخیرہ کو منظم کیا جا سکے۔ مثال کے طور پر، ٹیلیگرام بوٹ کے لیے سمارٹ خیالات میں نے ایک فولڈر بنایا جس کا نام ہے۔ tg-bot-smart-thughts (کچھ نہیں، میں اس سیفر کو سمجھوں گا)۔ ایک بھی بنائیں۔

Yandex.Cloud میں ٹیلیگرام بوٹ بنانا

اب آپ فولڈر کے نام پر کلک کر سکتے ہیں، اس میں جا کر فائلیں اپ لوڈ کر سکتے ہیں۔

Yandex.Cloud میں ٹیلیگرام بوٹ بنانا

اور فائل کے نام پر کلک کرکے - اسے حاصل کریں۔ URL ہمارے بوٹ میں استعمال کے لیے، اور عام طور پر - کہیں بھی (لیکن، اسے شائع نہ کریں۔ URL غیر ضروری طور پر، چونکہ ٹریفک سے آبجیکٹ اسٹوریج الزام عائد کیا).

Yandex.Cloud میں ٹیلیگرام بوٹ بنانا

یہاں، حقیقت میں، یہ سب ہے آبجیکٹ اسٹوریج. اب آپ کو معلوم ہو جائے گا کہ جب آپ وہاں فائلیں اپ لوڈ کرنے کا اشارہ دیکھیں گے تو کیا کرنا ہے۔

ویب ہُک

اب ہم انسٹال کریں گے۔ ویب ہک — یعنی جب بوٹ کو سرور سے اپ ڈیٹ موصول ہوتا ہے (مثال کے طور پر، صارف کا پیغام) تار ہمارے میں یانڈیکس فنکشن درخواست بھیجی جائے گی۔درخواست) ڈیٹا کے ساتھ۔ یہاں ایک سٹرنگ ہے جسے آپ آسانی سے براؤزر کے ایڈریس فیلڈ میں چسپاں کر سکتے ہیں، اور پھر صفحہ کو ریفریش کر سکتے ہیں (یہ صرف ایک بار کرنے کی ضرورت ہے): https://api.telegram.org/bot{bot_token}/setWebHook?url={webhook_url}
بس بدل دیں۔ {bot_token} اپنے بوٹ کو بناتے وقت ہمیں فادر بوٹ سے موصول ہونے والے ٹوکن پر، اور {webhook_url} - URL ہمارا Yandex کے افعال. ذرا رکو! لیکن RossKomCensorship روسی فیڈریشن میں فراہم کنندگان کو ایڈریس پیش کرنے سے منع کرتا ہے۔ https://api.telegram.org. ہاں یہ صحیح ہے. لیکن آپ کچھ سوچ سکتے ہیں۔ سب کے بعد، مثال کے طور پر، آپ اپنی دادی سے یوکرین، اسرائیل یا کینیڈا میں اس کے بارے میں پوچھ سکتے ہیں - وہاں کوئی "روسی سنسرشپ" نہیں ہے، اور صرف خدا ہی جانتا ہے کہ لوگ اس کے بغیر کیسے رہتے ہیں۔ نتیجے کے طور پر، ویب ہک انسٹال کرتے وقت درخواست کا جواب اس طرح نظر آنا چاہئے:

Yandex.Cloud میں ٹیلیگرام بوٹ بنانا

ٹیسٹنگ آئینہ دار ہونا چاہیے۔

Yandex.Cloud میں ٹیلیگرام بوٹ بنانا

یہ حقیقت ہے. ہماری مبارکباد - اب یانڈیکس فنکشن بن گیا ہے تار-بوٹ!

سمارٹ خیالات

اور اب ہم سمارٹ تھیٹس کرتے ہیں۔ کوڈ کھلا ہے اور اس پر پڑا ہے۔ 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 کے افعال، ٹیب کو منتخب کریں۔ زپ آرکائیو، بٹن دبائیں فائل منتخب کریںاور ہمارے آرکائیو کو ڈاؤن لوڈ کریں۔ smart.zip. آخر میں، اوپری دائیں کونے میں، بٹن پر کلک کریں۔ ورژن بنائیں.

Yandex.Cloud میں ٹیلیگرام بوٹ بنانا

چند سیکنڈ میں، جب فنکشن اپ ڈیٹ ہو جائے گا، ہم اپنے بوٹ کو دوبارہ ٹیسٹ کریں گے۔ اب وہ "آئینہ" نہیں، بلکہ ہوشیار خیالات پیش کرتا ہے!

Yandex.Cloud میں ٹیلیگرام بوٹ بنانا

آج کیلئے بس اتنا ہی. دوسرے مضامین اس کی پیروی کرتے ہیں۔ اگر آپ اسے پڑھنے میں دلچسپی رکھتے ہیں تو، نئے مضامین کی اطلاعات کو سبسکرائب کریں۔ آپ یہاں سبسکرائب کر سکتے ہیں یا تار-چینل آئی ٹی ٹیوٹوریل زخاریا ٹویٹر @mikezaharov.

حوالہ جات

GitHub پر کوڈ
Yandex کلاؤڈ فنکشنز
Yandex آبجیکٹ اسٹوریج
بوٹس: ڈویلپرز کے لیے ایک تعارف
ٹیلیگرام بوٹ API

عطیات

Yandex.Cloud میں ٹیلیگرام بوٹ بنانا

ماخذ: www.habr.com

نیا تبصرہ شامل کریں