Nhasi, kubva kune zvimedu, tichaungana 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:
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
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.
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.
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.
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.
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.
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.
Yandex basa
Zvino sezvo bot yedu yagadzirwa, ngatiendei Yandex.Cloudkugadzira basa rinozoita bot yedu kodhi. Kana usati washanda naye Yandex.Cloud verenga mashoko acho
Saka mune console Yandex.Cloud mune yekuruboshwe menyu yekufamba sarudza chinhu Mabasa Cloud, wobva wadzvanya bhatani Gadzira basa. Tinozvipa zita uye tsananguro pfupi pachedu.
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.
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:
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.
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.
Mushure meizvi, rondedzero yemabhaketi ese inogona kutaridzika seizvi (kana iri ndiro rako rega bhakiti):
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.
Iye zvino unogona kudzvanya pazita refolda, pinda mariri uye uise mafaera:
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).
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:
Tiri kuedza. Zvinofanira "girazi".
Ichi ichokwadi. Makorokoto edu - ikozvino Yandex basa vakava teregiramu-bot!
Pfungwa Dzakangwara
Zvino ngatiitei Mifungo Yakangwara. Iyo kodhi yakavhurika uye inonyepa
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.
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.
Mumasekondi mashoma, kana basa racho rikagadziridzwa, isu tichaedza bot yedu zvakare. Iye zvino haasisiri "magirazi", asi anopa pfungwa dzakangwara!
Ndizvo zvanhasi chete. Zvimwe zvinyorwa zvinotevera. Kana iwe uchida kuverenga izvi, nyoresa kune zviziviso nezve zvinyorwa zvitsva. Unogona kunyoresa pano, kana pa teregiramu-chiteshi
nezvakanyorwa
Mipiro
Source: www.habr.com