Gina bot na Telegram a cikin Yandex.Cloud

Gina bot na Telegram a cikin Yandex.Cloud

A yau, daga kayan da aka inganta, za mu tattara a ciki Yandex.Cloud Telegram bot amfani Ayyukan Yandex Cloud (ko Yandex ayyuka don takaice) da Adana Abubuwan Yandex (ko Ajiya Abu - don tsabta). Za a kunna lambar Node.js. Koyaya, akwai wani yanayi mai mahimmanci - wata ƙungiyar da ake kira, bari mu ce, RossKomCensorship (An haramta yin sharhi ta hanyar sashi na 29 na Kundin Tsarin Mulki na Tarayyar Rasha), baya ƙyale masu samar da Intanet a Rasha su canja wurin buƙatun zuwa API ɗin Telegram ta adireshin: https://api.telegram.org/. To, ba za mu - a'a, a'a. Lalle ne, a cikin jakar mu akwai abin da ake kira. gidan yanar gizo - tare da taimakonsu, ba ma yin buƙatun zuwa takamaiman adireshin ba, amma kawai aika buƙatar mu a matsayin amsa ga kowace buƙata a gare mu. Wato, kamar yadda a Odessa - mun amsa tambaya tare da tambaya. Shi ya sa API ɗin Telegram ba zai bayyana a cikin lambar mu ba.

DisclaimerSunayen kowace ƙungiyoyin jihohi da aka ambata a cikin wannan labarin ƙage ne, kuma yiwuwar haɗuwa da sunayen ƙungiyoyin rayuwa na gaske ne na haɗari.

Don haka, za mu yi bot wanda zai wadata mu da tunani mai wayo. Daidai kamar a cikin hoton:

Gina bot na Telegram a cikin Yandex.Cloud

Kuna iya gwada shi a aikace - ga sunan: @SmartThoughtsBot. Lura da maɓallin "Skill Alice"? Wannan saboda bot wani nau'i ne na "aboki" ga mai suna Aikin Alice, i.e. yana yin ayyuka iri ɗaya kamar Aikin Alice kuma, watakila, za su iya zama tare cikin lumana tallar juna. Game da yadda ake ƙirƙira Fasaha Tunani aka bayyana a cikin labarin Alice ta sami gwaninta. Yanzu (bayan yin wasu canje-canje bayan buga labarin da ke sama) akan wayar hannu wannan fasaha zai yi kama da wani abu kamar haka:

Gina bot na Telegram a cikin Yandex.Cloud

Halittar Bot

Ina son wannan koyawa ta zama mai amfani ga kowa da kowa, gami da. da mafari "bot Builders". Saboda haka, a cikin wannan sashe zan bayyana dalla-dalla yadda ake ƙirƙirar gabaɗaya a cikin sakon wayada bots. Ga wadanda basu buƙatar wannan bayanin, ci gaba zuwa sashe na gaba.

Bude aikace-aikacen Telegaram, muna kiran mahaifin duk bots (suna da komai kamar mutane) - @Bahaushee - kuma da farko, za mu ba shi umarnin / taimako don sabunta tunaninmu game da abin da za mu iya yi. Yanzu muna sha'awar tawagar / newbot.

Gina bot na Telegram a cikin Yandex.Cloud

Tun da an riga an ƙirƙiri bot ɗin da aka kwatanta a nan, don dalilai na nunawa zan ƙirƙiri wani bot na ɗan gajeren lokaci (sannan zan share shi). Zan kira shi DemoHabrBot. Sunaye (sunan mai amfani) duk bots na telegram dole ne su ƙare da kalma bot, alal misali: MyCoolBot ko my_sanyi_bot Wannan na bots ne. Amma da farko, ba wa bot suna (sunan) don mutane ne. Sunan na iya kasancewa cikin kowane harshe, ya ƙunshi sarari, ba dole ba ne ya ƙare da kalma bot, kuma ba dole ba ne ya zama na musamman. A cikin wannan misalin, na kira wannan bot Demo Habr.

Gina bot na Telegram a cikin Yandex.Cloud

Yanzu zaɓi suna don bot (sunan mai amfani, na bots). Mu kira shi DemoHabrBot. Duk abin da ya danganci sunan bot (sunan) ba shi da alaka da sunansa kwata-kwata - sunan mai amfani (ko ya shafi, amma daidai akasin haka). Bayan samun nasarar ƙirƙirar sunan bot na musamman, muna buƙatar kwafi da adanawa (a cikin tsananin amincewa!) Alamar da aka nuna a cikin hoton allo tare da kibiya ja. Tare da taimakonsa, daga baya za mu shigar da mai fita sakon waya'a webhook to mu Yandex aiki.

Gina bot na Telegram a cikin Yandex.Cloud

Kuma yanzu za mu ba da umarni ga uban duk bots: /mybotskuma zai nuna mana jerin duk bots ɗin da muka ƙirƙira. Bari mu bar bot ɗin da aka gasa sabo a yanzu Demo Habr (an halicce shi don nuna yadda ake ƙirƙirar bots, amma za mu yi amfani da shi a yau don wasu dalilai na zanga-zanga), kuma kuyi la'akari da bot. Tunani Mai Wayo (@SmartThoughtsBot). Danna maɓallin tare da sunansa a cikin jerin bots.

Gina bot na Telegram a cikin Yandex.Cloud

Wannan shine inda zamu iya saita bot ɗin mu. Tura maballi Gyara… za mu ci gaba zuwa gyara ɗaya ko wani zaɓi. Misali, ta danna maballin Gyara Sunan za mu iya canza sunan bot, faɗi maimakon Tunani Mai Wayo, rubuta hauka ra'ayoyi. Botpic - wannan shine avatar bot, dole ne ya kasance aƙalla 150 x 150 px. description taƙaitaccen bayanin da mai amfani ke gani lokacin da aka ƙaddamar da bot a karon farko, a matsayin amsar tambayar: Menene wannan bot zai iya yi? Game da - madaidaicin bayanin, wanda aka watsa tare da hanyar haɗi zuwa bot (https://t.me/SmartThoughtsBot) ko lokacin duba bayanai game da shi.

Gina bot na Telegram a cikin Yandex.Cloud

Muna buƙatar saita umarni kawai. Don yin wannan, danna maɓallin Gyara Umarni. Don daidaita ayyukan masu amfani sakon waya yana ba da shawarar yin amfani da umarni guda biyu koyaushe: /fara и / taimako, kuma idan bot yana buƙatar saituna - ƙarin umarni / saituna. Bot ɗin mu yana da sauƙi kamar ƙwallon ƙafa, don haka baya buƙatar kowane saiti tukuna. Mun rubuta umarni biyu na farko, wanda za mu aiwatar a cikin lambar. Yanzu, idan mai amfani ya shigar da slash (slash : /) a cikin filin shigarwa, jerin umarni zai bayyana don zaɓin su da sauri. Duk abin da yake a cikin hoton: a gefen hagu - mun saita umarni ta hanyar bot-baba; a hannun dama, waɗannan umarni sun riga sun kasance ga masu amfani a cikin bot ɗin mu.

Gina bot na Telegram a cikin Yandex.Cloud

Yandex aiki

Yanzu da aka ƙirƙiri bot ɗin mu, bari mu je Yandex.Clouddon ƙirƙirar aikin da zai aiwatar da lambar bot ɗin mu. Idan ba ku yi aiki tare ba Yandex.Cloud karanta kayan Alice a cikin ƙasar Bitrix, sai me - Ayyukan Yandex aika wasiku. Na kusan tabbata cewa waɗannan ƙasidu biyu ƙanana za su ishe ku don samun fahimtar ainihin batun.

Don haka a cikin console Yandex.Clouds a menu na kewayawa na hagu, zaɓi abu Ayyuka na girgije, sannan danna maballin Ƙirƙiri aiki. Muna ba shi suna, kuma ga kanmu - taƙaitaccen bayanin.

Gina bot na Telegram a cikin Yandex.Cloud

Bayan danna maɓallin ƙirƙiri kuma bayan daƙiƙa biyu, sabon aikin zai bayyana a cikin jerin duk ayyuka. Danna sunanta - wannan zai kai mu ga shafin Siffar aikin mu. Anan kuna buƙatar kunnaOn) canza aikin jama'adon samar da shi daga waje (don Yandex.Clouds) na duniya, da darajar filayen Hanyar haɗi don kira и Mai ganowa - Rufe shi a cikin sirrin kowa sai kai da Telegram, ta yadda masu zamba daban-daban ba za su iya kiran aikinka ba.

Gina bot na Telegram a cikin Yandex.Cloud

Yanzu amfani da menu na hagu je zuwa Edita ayyuka. Mu ajiye namu na dan lokaci kadan Tunani Mai Wayo, kuma ƙirƙirar aikin samfuri kaɗan don bincika aikin bot ɗin mu ... Duk da haka, a cikin wannan mahallin, wannan aikin shine bot ɗinmu ... A takaice, yanzu da kuma a nan za mu yi bot mafi sauƙi wanda zai "duba" ( watau aikawa) buƙatun mai amfani. Ana iya amfani da wannan samfuri koyaushe lokacin ƙirƙirar sabbin bots na telegram don tabbatar da cewa sadarwa tare da Telegram'om yana aiki lafiya. Danna Ƙirƙiri fayil, kira shi index.js, da kuma kan layi Editan lamba manna wannan code a cikin wannan fayil:

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

A cikin Yandex.Cloud console, yakamata yayi kama da wani abu kamar haka:

Gina bot na Telegram a cikin Yandex.Cloud

A ƙasa, mun nuna wurin shiga - index.botinda index wannan shine filename (index.js), da bot - sunan aiki (module.exports.bot). Bar duk sauran filayen "kamar yadda yake", kuma a cikin kusurwar dama na sama danna maɓallin Ƙirƙiri Sigar. Bayan ƴan daƙiƙa, za a ƙirƙiri wannan sigar aikin. Jim kadan bayan gwaji gidan yanar gizo, za mu ƙirƙiri sabon sigar - Tunani Mai Wayo.

Gina bot na Telegram a cikin Yandex.Cloud

Ajiya Abu

Yanzu da muka kafa Yandex aikimu tafi yayin da muke cikin console Yandex.Clouds, ƙirƙirar abin da ake kira. guga (guga, i.e. guga a cikin harshen Rashanci, ba ta wata hanya ba bouquet) don adana fayilolin hoton da za a yi amfani da su a cikin bot ɗin mu. Tunani Mai Wayo. Zaɓi daga menu na kewayawa na hagu Kayan Abinci, danna maballin Ƙirƙiri guga, ba shi suna, misali, img-gudu, kuma, mafi mahimmanci, Karanta damar zuwa abubuwa sanar da jama'a - in ba haka ba Telegram ba zai ga hotunan mu ba. Duk sauran filayen an bar su ba canzawa. Muna danna maɓallin Ƙirƙiri guga.

Gina bot na Telegram a cikin Yandex.Cloud

Bayan haka, jerin duk buckets na iya kama da wani abu kamar haka (idan wannan shine guga na ku kawai):

Gina bot na Telegram a cikin Yandex.Cloud

Yanzu na ba da shawarar danna sunan guga, kuma ƙirƙirar babban fayil a ciki don tsara ma'ajiyar hotuna don aikace-aikace daban-daban. Misali, don bot na telegram Tunani Mai Wayo na kirkiri babban fayil da ake kira tg-bot-tunanin-masu hankali (Ba komai, zan fahimci wannan sifa). Ƙirƙiri ɗaya kuma.

Gina bot na Telegram a cikin Yandex.Cloud

Yanzu zaku iya danna sunan babban fayil ɗin, ku shiga ciki ku loda fayiloli:

Gina bot na Telegram a cikin Yandex.Cloud

Kuma danna sunan fayil - sami shi URL don amfani a cikin bot ɗinmu, kuma gabaɗaya - a ko'ina (amma, kar a buga wannan URL ba dole ba, tun zirga-zirga daga kayan ajiya caji).

Gina bot na Telegram a cikin Yandex.Cloud

A nan, a gaskiya, shi ke nan kayan ajiya. Yanzu za ku san abin da za ku yi lokacin da kuka ga saurin loda fayiloli a wurin.

Webhook

Yanzu za mu shigar gidan yanar gizo - i.e. lokacin da bot ɗin ya karɓi sabuntawa (misali, saƙo daga mai amfani), daga uwar garken sakon waya cikin mu Yandex aiki za a aika buƙatarrequest) da data. Anan akwai igiyar da za ku iya liƙa a cikin adireshin adireshin mai binciken, sannan ku sabunta shafin (wannan yana buƙatar yin sau ɗaya kawai): https://api.telegram.org/bot{bot_token}/setWebHook?url={webhook_url}
Kawai maye gurbin {bot_token} zuwa alamar da muka samu daga uban bot lokacin ƙirƙirar bot ɗin mu, kuma {webhook_url} - a kan URL namu Yandex ayyuka. Dakata minti daya! Amma RossKomCensorship ya hana masu samarwa a cikin Tarayyar Rasha yin hidimar adireshin https://api.telegram.org. E, haka ne. Amma kuna iya tunanin wani abu. Bayan haka, za ka iya, alal misali, tambayi kakarka game da shi a cikin Ukraine, Isra'ila ko Kanada - babu "takardun Rasha" a can, kuma Allah ne kawai ya san yadda mutane suke rayuwa ba tare da shi ba. A sakamakon haka, buƙatar-amsar lokacin shigar da webhook ya kamata yayi kama da wannan:

Gina bot na Telegram a cikin Yandex.Cloud

Gwaji. Ya kamata a yi madubi.

Gina bot na Telegram a cikin Yandex.Cloud

Wannan gaskiya ne. Barkanmu da warhaka - yanzu Yandex aiki ya zama sakon waya- bot!

Tunani Mai Wayo

Kuma yanzu muna yin Smart Tunani. Lambar a buɗe take kuma tana kwance GitHub. An yi sharhi sosai, kuma tsayin layi ɗari ne kawai. Karanta shi kamar opera diva libretto!

Gina bot na Telegram a cikin Yandex.Cloud

Clone aikin kuma shigar da abubuwan dogaro:

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

Yi canje-canjen da kuke buƙata zuwa fayil ɗin index.js (na zaɓi; ba za ku iya canza komai ba). Ƙirƙiri zip- archive, tare da fayil index.js da babban fayil node_modules ciki, misali, da ake kira smart.zip.

Gina bot na Telegram a cikin Yandex.Cloud

Yanzu shiga cikin Consoles zuwa namu Yandex ayyuka, zaɓi shafin Taskar ZIP, danna maballin Zaɓi fayilkuma ku zazzage ma'ajin mu smart.zip. A ƙarshe, a saman kusurwar dama, danna maɓallin Ƙirƙiri Sigar.

Gina bot na Telegram a cikin Yandex.Cloud

A cikin 'yan daƙiƙa kaɗan, lokacin da aka sabunta aikin, za mu sake gwada bot ɗin mu. Yanzu ba ya daina " madubi ", amma yana ba da tunani mai hankali!

Gina bot na Telegram a cikin Yandex.Cloud

Shi ke nan na yau. Wasu labarai suna biyo baya. Idan kuna sha'awar karanta wannan, ku shiga cikin sanarwar sabbin labarai. Kuna iya biyan kuɗi a nan ko sakon waya- tashar IT Tutorial Zakhar, ko Twitter @mikezaharov.

nassoshi

Code akan GitHub
Ayyukan Yandex Cloud
Adana Abubuwan Yandex
Bots: Gabatarwa ga masu haɓakawa
API na Telegram Bot

Kyauta

Gina bot na Telegram a cikin Yandex.Cloud

source: www.habr.com

Add a comment