Kuvaka bot yeTeregiramu muYandex.Cloud

Kuvaka bot yeTeregiramu muYandex.Cloud

Nhasi, kubva kune zvimedu, tichaungana Yandex.Cloud Teregiramu bot uchishandisa Yandex Cloud Mabasa (kana Yandex mabasa - kwenguva pfupi) uye Yandex Object Storage (kana Kuchengeta chinhu - kuitira kujeka). Kodhi ichabatidzwa Node.js. Nekudaro, pane imwe piquant mamiriro - rimwe sangano rinonzi, ngatiti, RossKomTsenzur (censorship inorambidzwa neChikamu 29 cheBumbiro reRussia Federation), haitenderi vanopa Internet veRussia kutumira zvikumbiro kune Purogiramu yeTeregiramu kusvika pakero: https://api.telegram.org/. Zvakanaka, hatidi - kwete, kwete. Mushure mezvose, mubhegi redu mune zvinonzi. webhooks - nerubatsiro rwavo, hatiiti zvikumbiro kune imwe kero, asi kungotumira chikumbiro chedu semhinduro kune chero chikumbiro kwatiri. Ndiko kuti, sezvakaita muOdessa, tinopindura mubvunzo nemubvunzo. Ndosaka Purogiramu yeTeregiramu haisi kuzoonekwa mukodhi yedu.

DisclaimerMazita emasangano ehurumende chero api zvawo ataurwa muchinyorwa chino ndeemanyepo, uye zvingangofanana nemazita emasangano chaiwo anongoitikawo masanga.

Saka, tichaita bot iyo inotipa pfungwa dzakangwara. Zvakanyatsofanana nemufananidzo:

Kuvaka bot yeTeregiramu muYandex.Cloud

Unogona kuzviedza muchiito - heino zita: @SmartThoughtsBot. Akaona bhatani "Unyanzvi hwaAlice"? Izvi zvinodaro nekuti iyo bot imhando ye "shamwari" yebhoti yezita rimwe chete. Hunyanzvi hwaAlice, i.e. inoita mabasa akafanana ne Hunyanzvi hwaAlice uye zvinobvira kuti vachakwanisa kugarisana murugare kupfurikidza nokushambadzirana. Pamusoro pekugadzira hunyanzvi Pfungwa Dzakangwara inotsanangurwa munyaya yacho Alice anowana hunyanzvi. Zvino (mushure mekuita shanduko mushure mekuburitswa kwechinyorwa chiri pamusoro) pane iyo smartphone izvi unyanzvi zvichataridzika seizvi:

Kuvaka bot yeTeregiramu muYandex.Cloud

Kugadzira bot

Ndinoda kuti chidzidzo ichi chibatsire munhu wese, kusanganisira. uye novice bot vavaki. Nokudaro, muchikamu chino ini ndichatsanangura mune imwe tsanangudzo nzira yekugadzira muhuwandu teregiramuuye bots. Kune avo vasingade ruzivo urwu, enda kune zvikamu zvinotevera.

Vhura iyo application Telegaram, ngatishevedze baba vevose bots (vane zvose sevanhu) - @BotFather - uye chokutanga tichamupa iyo / yekubatsira kuraira kuzorodza ndangariro yake yezvatingaite. Iye zvino tinenge tichifarira chikwata / newbot.

Kuvaka bot yeTeregiramu muYandex.Cloud

Sezvo bot inotsanangurwa pano yakatogadzirwa, nekuda kwezvinangwa zvekuratidzira ini ndichagadzira imwe bot kwenguva pfupi (uye ndozoidzima). Ndichamufonera DemoHabrBot. Mazita (Username) yeese telegraph bots inofanira kupera neshoko Bot, somuenzaniso: MyCoolBot kana my_cool_bot - iyi ndeye bots. Asi chekutanga tinopa bot zita (zita) - uye izvi ndezvevanhu. Zita racho rinogona kuva mumutauro upi noupi, riine nzvimbo, uye harifaniri kupera neshoko Bot, uye haitombofaniri kuva yakasiyana. Mumuenzaniso uyu, ndakadaidza iyi bot Demo Habr.

Kuvaka bot yeTeregiramu muYandex.Cloud

Zvino sarudza zita rebhoti (Username, iyo yebhoti). Ngatimudane DemoHabrBot. Zvese zvine chekuita nezita rebhoti (zita) harina chekuita nezita rake zvachose - Username (kana inoshanda, asi zvakapesana). Mushure mekubudirira kugadzira zita rakasiyana-siyana rebhoti, tinoda kukopa uye kuchengetedza (mukuvimba kwakasimba!) Chiratidzo chinoratidzwa muscreenshot nemuseve mutsvuku. Nerubatsiro rwayo tichazosimbisa kunobva kubva teregiramu'mushonga wedu Yandex basa.

Kuvaka bot yeTeregiramu muYandex.Cloud

Zvino ngatipei murairo kuna baba vevose bots: /mybots, uye ichatiratidza runyoro rwese mabhoti atakagadzira. Ngatisiyei bot ichangobva kubikwa chete izvozvi Demo Habr (yakagadzirwa kuratidza maitiro ekugadzira bots, asi isu tichaishandisawo nhasi kune zvimwe zvinangwa zvekuratidzira), uye ngatitarisei bot. Pfungwa Dzakangwara (@SmartThoughtsBot) Dzvanya bhatani rine zita raro mune runyorwa rwe bots.

Kuvaka bot yeTeregiramu muYandex.Cloud

Pano tinogona kugadzirisa bot yedu. Nekudzvanya bhatani Hora… Isu tichaenderera mberi nekugadzirisa imwe kana imwe sarudzo. Semuenzaniso, nekudzvanya bhatani Hora Zita tinogona kuchinja zita rebhoti, taura panzvimbo Pfungwa Dzakangwara, nyora Mazano Anopenga. Botpic - iyi ndiyo bot's avatar, inofanira kunge iri zvishoma 150 x 150 px. tsananguro -iyi tsananguro pfupi iyo mushandisi anoona paanotanga bot kekutanga, semhinduro kumubvunzo: Chii chinogona kuita bot iyi? About - rondedzero yakapfupika, iyo inofambiswa nekubatanidza kune bot (https://t.me/SmartThoughtsBot) kana pakuona ruzivo nezvazvo.

Kuvaka bot yeTeregiramu muYandex.Cloud

Chatinofanira kuita kumisa mirairo. Kuti uite izvi, tinya bhatani Edit Mirairo. Kuenzanisa maitiro emushandisi teregiramu inokurudzira nguva dzose kushandisa mirairo miviri: /kutanga ΠΈ / rubatsiro, uye kana bot ichida zvigadziriso, shandisa iyo yekuwedzera / zvigadziriso kuraira. Bot yedu yakapusa sebhora, saka haichada chero marongero parizvino. Tinonyora mirairo miviri yekutanga, iyo yatichazogadzirisa mukodhi. Zvino, kana mushandisi akaisa slash (slash sign: /) mundima yekupinza, runyoro rwemirairo ruchaonekwa nekukurumidza kusarudzwa. Zvose zvakafanana nemufananidzo: kuruboshwe - tinoisa mirairo kuburikidza nababa bot; kurudyi, iyi mirairo yatovepo kune vashandisi mubhoti yedu.

Kuvaka bot yeTeregiramu muYandex.Cloud

Yandex basa

Zvino sezvo bot yedu yagadzirwa, ngatiendei Yandex.Cloudkugadzira basa rinozoita bot yedu kodhi. Kana usati washanda naye Yandex.Cloud verenga mashoko acho Alice muNyika yeBitrix, ndokuzo - Yandex mabasa anotumira tsamba. Ndine chokwadi chekuti zvinyorwa zviviri izvi zvipfupi zvichakwana kuti iwe uve nenzwisiso yekutanga yechidzidzo.

Saka mune console Yandex.Cloud mune yekuruboshwe menyu yekufamba sarudza chinhu Mabasa Cloud, wobva wadzvanya bhatani Gadzira basa. Tinozvipa zita uye tsananguro pfupi pachedu.

Kuvaka bot yeTeregiramu muYandex.Cloud

Mushure mekudzvanya bhatani Gadzira uye mushure memasekonzi mashoma, basa idzva richaonekwa mune rondedzero yemabasa ese. Dzvanya pazita rake - izvi zvinotiendesa kupeji tsananguro basa redu. Pano iwe unofanirwa kugonesa (On) chinja Basa revanhu vosekuitira kuti iwanikwe kubva kunze (ye Yandex.Cloud) zvenyika, uye zvinoreva minda Call link ΠΈ Chitupa - Chengetedza zvakadzika kubva kune wese munhu kunze kwako iwe neTeregiramu, kuitira kuti basa rako risadaidzwe neakasiyana scammers.

Kuvaka bot yeTeregiramu muYandex.Cloud

Zvino, uchishandisa kuruboshwe menyu, enda ku Mhariri mabasa. Ngatimboisa parutivi kwekanguva zvedu Pfungwa Dzakangwara, uye gadzira zvishoma template basa kuti uone kushanda kwebhoti yedu ... Zvisinei, mumamiriro ezvinhu aya, basa iri ndiro bot yedu ... Muchidimbu, ikozvino uye pano tichaita bot iri nyore iyo "mirror" ( i.e. send back ) zvikumbiro zvemushandisi. Iyi template inogona kugara ichishandiswa pakugadzira nyowani telegraph bots kuve nechokwadi chekuti kutaurirana ne Teregiramu'ohm inoshanda zvakanaka. Dzvanya Gadzira faira, ngatitii index.js, uye online Code editor namatidza kodhi inotevera mufaira iri:

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

MuYandex.Cloud console inofanirwa kutaridzika seizvi:

Kuvaka bot yeTeregiramu muYandex.Cloud

Kuwedzera pazasi tinoratidza Entry point - index.botkupi indekisi iri ndiro zita refaira (index.js), a Bot - zita rekuita (module.exports.bot) Siya mamwe minda ese sezvaari, wodzvanya bhatani riri mukona yekurudyi Gadzira shanduro. Mumasekondi mashoma iyi vhezheni yebasa ichagadzirwa. Nguva pfupi mushure mekuedzwa webhook, tichagadzira shanduro itsva - Pfungwa Dzakangwara.

Kuvaka bot yeTeregiramu muYandex.Cloud

Kuchengeta chinhu

Zvino isu takagadzira Yandex basa, huyai tiri munyaradzo Yandex.Cloud, ngatisike inonzi bhakiti (bucket, i.e. bhaketi muchiRussia, kwete bouquet zvachose) yekuchengetedza mafaira emifananidzo achashandiswa mubhoti yedu. Pfungwa Dzakangwara. Mumenyu yekuruboshwe yekufamba sarudza chinhu Object Storage, tinya bhatani Gadzira bhaketi, huya nezita rayo, semuenzaniso, img-bucketuye, zvinonyanya kukosha, Verenga kuwana zvinhu Isu tinozviita pachena - zvikasadaro Teregiramu haione mifananidzo yedu. Tinosiya mimwe minda yose isina kuchinja. Dzvanya bhatani Gadzira bhaketi.

Kuvaka bot yeTeregiramu muYandex.Cloud

Mushure meizvi, rondedzero yemabhaketi ese inogona kutaridzika seizvi (kana iri ndiro rako rega bhakiti):

Kuvaka bot yeTeregiramu muYandex.Cloud

Zvino ini ndinokurudzira kudzvanya pazita rebhaketi uye kugadzira dhairekitori mukati maro kuronga kuchengetwa kwemifananidzo kune ako akasiyana maapplication. Semuenzaniso, kune telegraph bot Pfungwa Dzakangwara Ndakagadzira folder rinonzi tg-bot-smart-pfungwa (hapana, ini ndichanzwisisa iyi kodhi). Gadzira imwe zvakare.

Kuvaka bot yeTeregiramu muYandex.Cloud

Iye zvino unogona kudzvanya pazita refolda, pinda mariri uye uise mafaera:

Kuvaka bot yeTeregiramu muYandex.Cloud

Uye nekudzvanya pazita refaira - riwane URL yekushandisa mune yedu bot, uye kazhinji - chero kupi (asi usashambadze izvi URL zvisina kufanira, sezvo traffic kubva Kuchengeta chinhu mhosva).

Kuvaka bot yeTeregiramu muYandex.Cloud

Ndizvo chete zviripo pazviri Kuchengeta chinhu. Iye zvino iwe unozoziva zvekuita kana iwe ukaona kukurumidza kuisa mafaera ipapo.

Webhook

Iye zvino tichaisa webhook - i.e. apo bot inogamuchira update (somuenzaniso, meseji kubva kumushandisi) kubva kune server teregiramu kwedu Yandex basa chikumbiro chichatumirwa (chikumbiro) nedata. Heino mutsara iwe unogona kungoisa mundima yekero yebrowser yako wobva wazorodza peji (iwe unongofanira kuita izvi kamwe chete): https://api.telegram.org/bot{bot_token}/setWebHook?url={webhook_url}
Tichangoitsiva {bot_token} kune chiratidzo chatakagamuchira kubva kuna baba bot pakugadzira bot yedu, uye {webhook_url} - on URL zvedu Yandex mabasa. Mira zvishoma! Asi RossKomTsenzur inorambidza vanopa muRussian Federation kuti vasaite kero https://api.telegram.org. Hongu ndizvozvo. Asi huya nechimwe chinhu. Mushure mezvose, unogona, semuenzaniso, kubvunza mbuya vako nezveizvi muUkraine, Israel kana Canada - hapana "Rosskomcensorship" ipapo, uye Mwari chete anoziva kuti vanhu vanorarama sei pasina iyo. Nekuda kweizvozvo, chikumbiro-mhinduro kana uchiisa webhook inofanira kutaridzika seizvi:

Kuvaka bot yeTeregiramu muYandex.Cloud

Tiri kuedza. Zvinofanira "girazi".

Kuvaka bot yeTeregiramu muYandex.Cloud

Ichi ichokwadi. Makorokoto edu - ikozvino Yandex basa vakava teregiramu-bot!

Pfungwa Dzakangwara

Zvino ngatiitei Mifungo Yakangwara. Iyo kodhi yakavhurika uye inonyepa GitHub. Yakanyatsotaurwa uye ingori mitsetse zana kureba. Iverenge senge opera diva libretto!

Kuvaka bot yeTeregiramu muYandex.Cloud

Clone iyo purojekiti uye isa zvinoenderana:

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

Ita shanduko dzaunoda kune faira index.js (kusarudza; haufanirwe kushandura chero chinhu). Create ZIP-archive, ine faira index.js uye folda node_modules mukati, semuenzaniso, pasi pezita smart.zip.

Kuvaka bot yeTeregiramu muYandex.Cloud

Zvino enda kune console kune yedu Yandex mabasa, sarudza iyo tab ZIP archivetinya bhatani Sarudza faira, uye dhawunirodha dura redu smart.zip. Pakupedzisira, mukona yepamusoro yekurudyi, tinya bhatani Gadzira shanduro.

Kuvaka bot yeTeregiramu muYandex.Cloud

Mumasekondi mashoma, kana basa racho rikagadziridzwa, isu tichaedza bot yedu zvakare. Iye zvino haasisiri "magirazi", asi anopa pfungwa dzakangwara!

Kuvaka bot yeTeregiramu muYandex.Cloud

Ndizvo zvanhasi chete. Zvimwe zvinyorwa zvinotevera. Kana iwe uchida kuverenga izvi, nyoresa kune zviziviso nezve zvinyorwa zvitsva. Unogona kunyoresa pano, kana pa teregiramu-chiteshi IT Tutorial Zakhar, kana Twitter @mikezaharov.

nezvakanyorwa

Kodhi paGitHub
Yandex Cloud Mabasa
Yandex Object Storage
Bots: Sumo yevagadziri
Telegraph Bot API

Mipiro

Kuvaka bot yeTeregiramu muYandex.Cloud

Source: www.habr.com

Voeg