Maanta, alaabta la hagaajiyay, waxaan ka soo ururin doonaa 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:
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
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.
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.
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.
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
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.
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.
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
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.
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.
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:
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.
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.
Taas ka dib, liiska baaldiyada oo dhan waxay u ekaan karaan wax sidan oo kale ah (haddii kani yahay baaldigaaga kaliya):
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.
Hadda waxaad gujin kartaa magaca faylka, geli oo geli faylasha:
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).
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:
Tijaabinaya. Waa in la milicsadaa.
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
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.
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.
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!
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
tixraacyada
Deeqaha
Source: www.habr.com