Dhisida bot Telegram gudaha Yandex.Cloud

Dhisida bot Telegram gudaha Yandex.Cloud

Maanta, alaabta la hagaajiyay, waxaan ka soo ururin doonaa Yandex.Cloud Telegram bot isticmaalka Hawlaha Yandex Cloud (ama Hawlaha Yandex si kooban) iyo Kaydinta Shayga Yandex (ama Kaydinta Shayga - si loo caddeeyo). Codku wuu daaran doonaa Node.js. Si kastaba ha ahaatee, waxaa jira hal xaalad oo muhiim ah - urur gaar ah oo la yiraahdo, aynu nidhaahno, Faafreebka RossKom (Fafreebka waxaa mamnuucaya qodobka 29 ee dastuurka Federaalka Ruushka), ma ogola bixiyeyaasha internetka ee Ruushka inay u gudbiyaan codsiyada Telegram API cinwaanka: https://api.telegram.org/. Hagaag, ma yeeli doono - maya, maya. Runtii, boorsadayada waxaa ku jira wax loogu yeero. webhoos - Iyagoo kaashanaya, ma samayno codsiyo cinwaan gaar ah, laakiin kaliya u dir codsigeena jawaab ahaan codsi kasta oo naloo soo diro. Taasi waa, sida Odessa - waxaan uga jawaabnaa su'aal su'aal ah. Taasi waa sababta Telegram API kuma soo muuqan doono koodkayaga.

AfeefMagacyada urur kasta oo dawli ah oo lagu xusay maqaalkan waa kuwo khiyaali ah, iyo dhacdooyinka suurtagalka ah ee magacyada ururada nolosha dhabta ah waa shil.

Markaa, waxaanu samayn doonaa bot kaas oo ina siin doona fikrado caqli badan. Si sax ah sida sawirka:

Dhisida bot Telegram gudaha Yandex.Cloud

Waxaad isku dayi kartaa ficil ahaan - waa kan magaca: @SmartThoughtsBot. U fiirso badhanka "Alice's Skill"? Tani waa sababta oo ah botku waa nooc ka mid ah "saaxiibka" magaca magaca Xirfadda Alice, i.e. waxay qabataa hawlo la mid ah sida Xirfadda Alice iyo, laga yaabaa, in ay ku wada noolaan karaan si nabad ah midba midka kale. Ku saabsan sida loo abuuro Xirfadda Fikirka Wacan lagu tilmaamay maqaalka Alice waxay heshay xirfadda. Hadda (ka dib markii la sameeyo isbeddello ka dib daabacaadda maqaalka kor ku xusan) ee casriga ah tan xirfad waxay u ekaan doontaa wax sidan oo kale ah:

Dhisida bot Telegram gudaha Yandex.Cloud

Bot abuurista

Waxaan jeclaan lahaa in casharkan uu faa'iido u yeesho qof walba, oo ay ku jiraan. iyo bilawga "bot-dhisayaasha". Sidaa darteed, qaybtan waxaan si faahfaahsan u sharxi doonaa sida loo abuuro guud ahaan telegraamiyo bots. Kuwa aan u baahnayn macluumaadkan, u sii gudub qaybaha xiga.

Fur codsiga Telegaram, waxaan ugu yeernaa aabaha bots oo dhan (waxay leeyihiin wax walba sida dadka) - @BotAabbe - iyo bilawga, waxaanu siin doonaa amarka / caawinta si uu u cusbooneysiiyo xusuustayada waxa aan sameyn karno. Hadda waxaan xiiseyneynaa kooxda / newbot.

Dhisida bot Telegram gudaha Yandex.Cloud

Maaddaama bot-ka halkan lagu sharraxay mar hore la sameeyay, ujeeddooyin muujinaya waxaan abuuri doonaa bot kale muddo gaaban (ka dibna waan tirtiri doonaa). waan waci doonaa DemoHabrBot. Magacyada (username) dhamaan bots telegram waa in ay ku dhameeyaan kelmad robot, tusaale ahaan: MyCoolBot ama my_cool_bot Tani waxaa loogu talagalay bots Laakiin marka hore, u bixi bot magac (magaca) waa dadka. Magacu wuxuu ahaan karaa luqad kasta, wuxuu ka koobnaan karaa meelo bannaan, maaha inuu kelmad ku dhammaado robot, oo xataa ma aha inay noqoto mid gaar ah. Tusaalahan, waxaan u wacay bot-kan Demo Habr.

Dhisida bot Telegram gudaha Yandex.Cloud

Hadda u door magaca bot-ka (username, kan bots). Aan u yeerno DemoHabrBot. Wax kasta oo la xidhiidha magaca botmagaca) haba yaraatee aan la xidhiidhin magaciisa - username (ama khusayso, laakiin dhab ahaan liddi ku ah). Ka dib markii si guul leh loo abuuro magac bot gaar ah, waxaan u baahanahay inaan nuqul ka sameyno oo aan keydinno (kalsoonida ugu adag!) Calaamadaha lagu muujiyay shaashadda oo leh fallaadho casaan ah. Caawimaadkeeda, waxaan hadhow ku rakibi doonaa qalabka baxaya telegraam'webhook noo shaqada Yandex.

Dhisida bot Telegram gudaha Yandex.Cloud

Oo hadda waxaan ku siin doonaa amarka aabbaha dhammaan bots: /mybotswaxayna ina tusi doontaa liiska dhammaan bots-yada aan abuurnay. Aynu hadda ka tagno bot-ka cusub ee la dubay Demo Habr (waxaa loo abuuray si loo muujiyo sida loo abuuro bots, laakiin waxaan maanta u isticmaali doonaa ujeeddooyin kale oo muujinaya), oo tixgeli bot Fikirka Wacan (@SmartThoughtsBot). Guji badhanka magaciisa ku jira liiska bots

Dhisida bot Telegram gudaha Yandex.Cloud

Tani waa meesha aan ka samaysan karno bot-keena. Badhan riixaya Tafatir… Waxaan u gudbi doonaa in aan tafatiro hal ama doorasho kale. Tusaale ahaan, adigoo gujinaya badhanka Magaca Tafatir waxaan bedeli karnaa magaca bot-ka, dheh halkii aad ka dhihi lahayd Fikirka Wacan, qor fikrado waalan. Botpic - kani waa avatar-ka bot, waa inuu ahaadaa ugu yaraan 150 x 150 px. Description waa sharaxaad gaaban oo isticmaaluhu uu arko marka bot-ka la bilaabay markii ugu horeysay, jawaab ahaan su'aasha: Muxuu botkani samayn karaa? Nagu Saabsan - sharaxaad ka sii gaaban, kaas oo lagu kala qaado xiriirka bot (https://t.me/SmartThoughtsBot) ama marka la eego macluumaadka ku saabsan.

Dhisida bot Telegram gudaha Yandex.Cloud

Kaliya waxaan u baahanahay inaan dejino amarrada. Si tan loo sameeyo, taabo badhanka Tafatir amarrada. Si loo habeeyo dhaqamada isticmaale telegraam waxay ku talinaysaa in had iyo jeer la isticmaalo laba amar: /bilow ΠΈ / I caawi, iyo haddii bot-ku u baahan yahay dejinta, amar dheeraad ah / settings. Botgeena waa mid fudud sida kubbadda oo kale, markaa wali uma baahna wax dejin ah. Waxaan qoraynaa labada amar ee ugu horreeya, kuwaas oo aan ka shaqeyn doono koodhka. Hadda, haddii isticmaaluhu galo slash (dabeecadda slash: /) goobta gelinta, liiska amarrada ayaa u muuqan doona doorashadooda degdegga ah. Wax walba waa sida sawirka: dhanka bidix - waxaan dejineynaa amarro iyada oo loo marayo bot-abaha; dhanka midig, amarradan ayaa mar horeba diyaar u ah isticmaalayaasha bot-kayaga.

Dhisida bot Telegram gudaha Yandex.Cloud

shaqada Yandex

Hadda bot-keena ayaa la abuuray, aan tagno Yandex.Cloudsi loo abuuro shaqo fulin doonta koodka bot-kayaga. Haddii aanad la shaqayn Yandex.Cloud akhri qoraalka Alice ee dhulka Bitrix, ka dibna - Hawlaha Yandex waxay soo diraan boostada. Waxaan hubaa in labadan maqaal ee yaryari ay kuugu filnaan doonaan fahamka aasaasiga ah ee mawduuca.

Markaa console-ka Yandex.Clouds menu navigation bidix, dooro shayga Hawlaha daruuriga ah, ka dibna taabo badhanka Abuur shaqo. Waxaan u bixinaa magac, iyo nafteena - sharaxaad kooban.

Dhisida bot Telegram gudaha Yandex.Cloud

Kadib riix badhanka abuuro iyo dhowr ilbiriqsi ka dib, shaqada cusub waxay ka soo muuqan doontaa liiska dhammaan hawlaha. Guji magaceeda - tani waxay ina geyn doontaa bogga guudmar shaqadeena. Halkan waxaad u baahan tahay inaad karti u yeelatoOn) beddelo shaqada guudsi looga helo dibadda (for Yandex.Clouds) adduunka, iyo qiimaha beeraha Xiriirinta wac ΠΈ Aqoonsi - si qoto dheer uga qari qof walba marka laga reebo naftaada iyo Telegram, si aanay khiyaamo kala duwani kuugu yeedhin shaqadaada.

Dhisida bot Telegram gudaha Yandex.Cloud

Hadda adoo isticmaalaya menu-ka bidix u tag Tifatiraha hawlaha. In yar aan meel iska dhigno intayada Fikirka Wacan, oo samee qaab-dhismeedka ugu yar si loo hubiyo waxqabadka bot-kayaga ... Si kastaba ha ahaatee, macnaha guud, shaqadani waa botkeena ... Marka la soo koobo, hadda iyo halkan waxaan samayn doonaa bot ugu fudud ee "muraayad" ( ie dib u soo dir) codsiyada isticmaalaha. Nashqadan qaabaysan had iyo jeer waa la isticmaali karaa marka la abuurayo bots telegram-ka cusub si loo hubiyo in la xidhiidho Telegram'om si fiican ayuu u shaqeeyaa. Guji Abuur fayl, wac index.js, iyo online Tifaftiraha koodka ku dheji koodka soo socda faylkan:

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
  };
};

Gudaha Yandex.Cloud console, waa inay u ekaataa wax sidan oo kale ah:

Dhisida bot Telegram gudaha Yandex.Cloud

Hoosta, waxaanu tilmaamaynaa barta laga galo - index.bothalkaas oo index kani waa magaca faylka (index.js), robot - magaca shaqada (module.exports.bot). Ka tag dhammaan goobaha kale "sida ay tahay", oo ku yaal geeska midig ee sare badhanka Samee nooc. Dhowr ilbiriqsi ka dib, nooca shaqada ayaa la abuuri doonaa. Wax yar ka dib tijaabada mareegaha, waxaan abuuri doonaa version cusub - Fikirka Wacan.

Dhisida bot Telegram gudaha Yandex.Cloud

Kaydinta Shayga

Hadda waanu dejinay shaqada Yandexaan tagno inta aan ku jirno console-ka Yandex.Clouds, abuur waxa loogu yeero. baaldi (baaldi, i.e. baaldi Ruush ah, sinaba bouquet) ee lagu kaydinayo faylalka sawirka ee loo isticmaali doono bot-keena Fikirka Wacan. Ka dooro liiska navigation-ka bidix Keydinta Qalabka, taabo badhanka Abuur baaldi, u bixi magac, tusaale ahaan, img-baaldiiyo, ugu muhiimsan, Akhri gelitaanka walxaha si guud uga dhig - haddii kale Telegram ma arki doono sawiradayada. Dhammaan goobaha kale waa laga tagay iyadoo aan isbeddelin. Waxaan riixnaa badhanka Abuur baaldi.

Dhisida bot Telegram gudaha Yandex.Cloud

Taas ka dib, liiska baaldiyada oo dhan waxay u ekaan karaan wax sidan oo kale ah (haddii kani yahay baaldigaaga kaliya):

Dhisida bot Telegram gudaha Yandex.Cloud

Hadda waxaan soo jeedinayaa inaan gujiyo magaca baaldiga, oo aan abuuro gal gudaha ku jira si aan u habeeyo kaydinta sawirada codsiyada kala duwan. Tusaale ahaan, bot telegram Fikirka Wacan waxaan sameeyay gal la yiraahdo tg-bot-fikrado-smart (Waxba, waan fahmi doonaa qoraalkan). Midna samee.

Dhisida bot Telegram gudaha Yandex.Cloud

Hadda waxaad gujin kartaa magaca faylka, geli oo geli faylasha:

Dhisida bot Telegram gudaha Yandex.Cloud

Oo gujinaya magaca faylka - hel URL si loogu isticmaalo bot-keena, iyo guud ahaan - meel kasta (laakiin, ha daabicin tan URL aan loo baahnayn, tan iyo gaadiidka ka kaydinta shay lagu soo oogay).

Dhisida bot Telegram gudaha Yandex.Cloud

Halkan, dhab ahaantii, taasi waa dhammaan kaydinta shay. Hadda waxaad garan doontaa waxa la sameeyo marka aad aragto degdeg ah si ay u geliyaan faylasha halkaas.

Webhook

Hadda waxaan ku rakibi doonaa mareegaha - i.e. marka bot-ku helo cusboonaysiin (tusaale ahaan, fariin ka socota isticmaalaha), ka server-ka telegraam noo galay shaqada Yandex codsi ayaa la diri doonaacodsi) xog leh. Halkan waxaa ah xarig aad si fudud ugu dhejin karto goobta ciwaanka browserka, ka dibna dib u cusbooneysii bogga (tani waxay u baahan tahay kaliya in la sameeyo hal mar): https://api.telegram.org/bot{bot_token}/setWebHook?url={webhook_url}
Kaliya beddel {bot_token} calaamadda aan ka helnay aabaha bot markii la abuurayay bot, iyo {webhook_url} - ku saabsan URL our Hawlaha Yandex. Sug daqiiqad! Laakin Faafreebka RossKom waxay mamnuucaysaa bixiyeyaasha Xiriirka Ruushka inay u adeegaan ciwaanka https://api.telegram.org. Haa, waa sax. Laakiin wax baad ka fikiri kartaa. Ka dib oo dhan, waxaad, tusaale ahaan, weyddiin kartaa ayeeyo oo ku saabsan Ukraine, Israa'iil ama Kanada - ma jiraan " faafreebka Ruush" halkaas, iyo Ilaah kaliya ayaa og sida ay dadku u nool yihiin la'aanteed. Natiijo ahaan, jawaabta codsiga marka la rakibayo webhook waa inay u ekaataa sidan:

Dhisida bot Telegram gudaha Yandex.Cloud

Tijaabinaya. Waa in la milicsadaa.

Dhisida bot Telegram gudaha Yandex.Cloud

Tani waa run. Hambalyadayada - hadda shaqada Yandex noqday telegraambot!

Fikirka Wacan

Oo hadda waxaan samaynaa Fikrado Wacan. Koodhku wuu furan yahay oo wuu dul yaal GitHub. Si qurux badan ayaa looga faallooday, waana boqol sadar oo keliya. U akhri sida opera diva libretto!

Dhisida bot Telegram gudaha Yandex.Cloud

Xir mashruuca oo rakib waxyaabaha ku tiirsan:

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

Ku samee isbedelada aad u baahan tahay faylka index.js (ikhtiyaar ah; waxba ma beddeli kartid). Abuur zip-archive, oo leh fayl index.js iyo gal node_modules gudaha, tusaale ahaan, loo yaqaan smart.zip.

Dhisida bot Telegram gudaha Yandex.Cloud

Hadda gal console-ka annaga Hawlaha Yandex, dooro tab Kaydka ZIP, riix badhanka Dooro fayloo soo deji kaydkeena smart.zip. Ugu dambeyntii, geeska sare ee midig, dhagsii badhanka Samee nooc.

Dhisida bot Telegram gudaha Yandex.Cloud

Dhowr ilbiriqsi gudahood, marka shaqada la cusboonaysiiyo, waxaan mar kale tijaabin doonaa bot-keena. Hadda isagu mar dambe ma "muraayadaha", laakiin wuxuu bixiyaa fikrado caqli-gal ah!

Dhisida bot Telegram gudaha Yandex.Cloud

Maanta waa intaas. Maqaallo kale ayaa la socda. Haddii aad xiisaynayso inaad akhrido kan, ku biir ogeysiisyada maqaallada cusub. Waxaad ku qori kartaa halkan ama telegraam-channel Casharkii IT Zakar, ama Twitter @mikezaharov.

tixraacyada

Koodhka GitHub
Hawlaha Yandex Cloud
Kaydinta Shayga Yandex
Bots: Hordhac loogu talagalay horumariyeyaasha
Telegram Bot API

Deeqaha

Dhisida bot Telegram gudaha Yandex.Cloud

Source: www.habr.com

Add a comment