Kupanga bot ya Telegraph ku Yandex.Cloud

Kupanga bot ya Telegraph ku Yandex.Cloud

Lero, kuchokera ku zinthu zakale, tidzasonkhanitsa Yandex.Cloud Telegraph bot kugwiritsa ntchito Yandex Cloud Functions (kapena Yandex ntchito - mwachidule) ndi Yandex Object Storage (kapena Kusungirako chinthu - kuti zimveke). Khodi idzayatsidwa Node.js. Komabe, pali chinthu chimodzi chofunikira kwambiri - bungwe linalake lotchedwa, tinene kuti, RossKomTsenzur (kuwunika ndikoletsedwa ndi Article 29 ya Constitution of the Russian Federation), sikulola opereka intaneti aku Russia kuti atumize zopempha Telegraph API ku adilesi: https://api.telegram.org/. Chabwino, sitingatero - ayi, ayi. Ndipotu, m'chikwama chathu pali otchedwa. ma webhooks - ndi chithandizo chawo, sitimapempha ku adiresi inayake, koma tingotumiza pempho lathu ngati yankho la pempho lililonse kwa ife. Ndiko kuti, monga ku Odessa, timayankha funso ndi funso. Ndichifukwa chake Telegraph API siziwoneka mu code yathu.

ChodzikaniraMayina a mabungwe onse aboma amene tawatchula m’nkhani ino ndi ongopeka, ndipo zotheka kufanana ndi mayina a mabungwe amene zikuchitikadi zimachitika mwangozi.

Chifukwa chake, tipanga bot yomwe ingatipatse malingaliro anzeru. Ndendende monga pachithunzichi:

Kupanga bot ya Telegraph ku Yandex.Cloud

Mutha kuyesa kuchitapo kanthu - nali dzina: @SmartThoughtsBot. Onani batani "Luso la Alice"? Izi ndichifukwa choti bot ndi mtundu wa "mnzako" wa bot wa dzina lomwelo. Luso la Alice,ndi. imagwira ntchito zofanana ndi Luso la Alice ndipo n’zotheka kuti azitha kukhala limodzi mwamtendere potsatsana malonda. Za momwe mungapangire luso Malingaliro Anzeru zafotokozedwa m’nkhaniyo Alice amapeza luso. Tsopano (pambuyo posintha zina pambuyo pofalitsa nkhani yomwe ili pamwambapa) pa smartphone izi luso zidzawoneka motere:

Kupanga bot ya Telegraph ku Yandex.Cloud

Kupanga bot

Ndikufuna phunziroli kuti likhale lothandiza kwa aliyense, kuphatikiza. ndi omanga novice bot. Choncho, m'chigawo chino ndikufotokozera mwatsatanetsatane momwe mungapangire zambiri uthengawondi bots. Kwa iwo omwe safuna chidziwitso ichi, pitani ku zigawo zotsatirazi.

Tsegulani pulogalamuyi Telegaram, tiyeni tiyitane atate wa bots onse (ali ndi chilichonse ngati anthu) - @Abambo - ndipo choyamba tidzamupatsa lamulo / chithandizo kuti atsitsimutse kukumbukira zomwe tingachite. Tsopano tikhala ndi chidwi ndi timu / newbot.

Kupanga bot ya Telegraph ku Yandex.Cloud

Popeza bot yomwe yafotokozedwa apa idapangidwa kale, paziwonetsero ndipanga bot ina kwakanthawi kochepa (ndikuchotsa). Ndimuimbira foni DemoHabrBot. Mayina (lolowera) ya bots onse a telegalamu iyenera kutha ndi mawu Bot, mwachitsanzo: MyCoolBot kapena my_cool_bot - izi ndi za bots. Koma choyamba timapatsa bot dzina (dzina) - ndipo izi ndi za anthu. Dzinalo likhoza kukhala m'chinenero chilichonse, kukhala ndi mipata, ndipo siliyenera kutha ndi liwu Bot, ndipo siziyenera kukhala zapadera. Mu chitsanzo ichi, ndinatcha bot Demo Habr.

Kupanga bot ya Telegraph ku Yandex.Cloud

Tsopano sankhani dzina la bot (lolowera, ya bots). Tiyeni timuyitane DemoHabrBot. Chilichonse chokhudzana ndi dzina la bot (dzina) sizikukhudzana ndi dzina lake konse - lolowera (kapena imagwira ntchito, koma mosiyana). Pambuyo popanga bwino dzina lapadera la bot, tiyenera kukopera ndikusunga (mwachidaliro cholimba!) Chizindikiro chowonetsedwa pazithunzi ndi muvi wofiira. Ndi chithandizo chake tidzakhazikitsa zoyambira uthengawo'ubale wathu Yandex ntchito.

Kupanga bot ya Telegraph ku Yandex.Cloud

Tsopano tiyeni tipereke lamulo kwa atate wa bots onse: /mybots, ndipo itiwonetsa mndandanda wa ma bots onse omwe tapanga. Tiyeni tisiye boti yophikidwa kumene yokha pakadali pano Demo Habr (idapangidwa kuti iwonetse momwe mungapangire bots, koma tidzagwiritsanso ntchito lero pazowonetsera zina), ndipo tiyeni tiwone bot. Malingaliro Anzeru (@SmartThoughtsBot). Dinani batani lomwe lili ndi dzina lake pamndandanda wa bots.

Kupanga bot ya Telegraph ku Yandex.Cloud

Apa titha kukonza bot yathu. Mwa kukanikiza batani Sinthani… Tidzapitilira pakusintha njira imodzi kapena ina. Mwachitsanzo, podina batani Sinthani Dzina titha kusintha dzina la bot, nenani m'malo mwake Malingaliro Anzeru, kulemba Malingaliro Openga. Botpic - iyi ndiye avatar ya bot, iyenera kukhala osachepera 150 x 150 px. Kufotokozera - Uku ndikufotokozera mwachidule komwe wogwiritsa ntchito amawona akayamba bot kwa nthawi yoyamba, monga yankho la funso: Kodi bot iyi ingachite chiyani? About - Kufotokozera mwachidule, komwe kumaperekedwa ndi ulalo ku bot (https://t.me/SmartThoughtsBot) kapena poyang'ana zambiri za izo.

Kupanga bot ya Telegraph ku Yandex.Cloud

Zomwe tiyenera kuchita ndikukhazikitsa malamulo. Kuti muchite izi, dinani batani Sinthani Malamulo. Kulinganiza machitidwe ogwiritsa ntchito uthengawo amalimbikitsa kugwiritsa ntchito malamulo awiri nthawi zonse: /kuyamba ΠΈ / Thandizeni, ndipo ngati bot ikufunika makonda, gwiritsani ntchito zowonjezera / zoikamo lamulo. Bot yathu ndi yosavuta ngati mpira, kotero sikufunika zosintha zilizonse. Timalemba malamulo awiri oyambirira, omwe tidzakonza ndi code. Tsopano, ngati wosuta alowetsa slash (chizindikiro cha slash: /) m'munda wolowetsa, mndandanda wa malamulo udzawonekera kuti musankhe mwamsanga. Chilichonse chili pachithunzichi: kumanzere - timayika malamulo kudzera pa bot bambo; kumanja, malamulowa amapezeka kale kwa ogwiritsa ntchito mu bot yathu.

Kupanga bot ya Telegraph ku Yandex.Cloud

Yandex ntchito

Tsopano popeza bot yathu idapangidwa, tiyeni tipite Yandex.Cloudkuti mupange ntchito yomwe idzagwiritse ntchito nambala yathu ya bot. Ngati simunagwirepo ntchito Yandex.Cloud werengani nkhaniyo Alice ku Dziko la Bitrix, Kenako - Yandex ntchito kutumiza makalata. Ndine wotsimikiza kuti nkhani ziΕ΅iri zazifupizi zidzakhala zokwanira kwa inu kumvetsetsa nkhaniyo.

Ndiye mu console Yandex.Cloud kumanzere navigation menyu sankhani chinthucho Ntchito Zamtambo, ndiyeno dinani batani Pangani ntchito. Timapereka dzina ndi kufotokozera mwachidule kwa ife tokha.

Kupanga bot ya Telegraph ku Yandex.Cloud

Pambuyo kukanikiza batani kulenga ndipo pakatha masekondi angapo, ntchito yatsopano idzawonekera pamndandanda wazinthu zonse. Dinani pa dzina lake - izi zitifikitsa patsamba mwachidule ntchito yathu. Apa muyenera kuthandizira (On) kusintha Ntchito zapagulukotero kuti zitha kupezeka kuchokera kunja (kwa Yandex.Cloud) za dziko, ndi tanthauzo la minda Ulalo woyimba ΠΈ Kuzindikiritsa - sungani chinsinsi kwambiri kwa aliyense kupatula inu nokha ndi Telegalamu, kuti ntchito yanu isatchulidwe ndi azachinyengo osiyanasiyana.

Kupanga bot ya Telegraph ku Yandex.Cloud

Tsopano, pogwiritsa ntchito menyu wakumanzere, pitani ku Mkonzi ntchito. Tiyeni tiyike pambali kwa mphindi yathu Malingaliro Anzeru, ndikupanga ntchito yochepa ya template kuti muwone momwe ntchito ya bot yathu ikuyendera ... Komabe, mu nkhaniyi, ntchitoyi ndi bot yathu ... Mwachidule, tsopano ndi pomwe apa tidzapanga bot losavuta lomwe lidzakhala "galasi" ( i.e. send back ) zopempha za ogwiritsa ntchito. Template iyi itha kugwiritsidwa ntchito nthawi zonse popanga ma telegraph bots atsopano kuti muwonetsetse kuti kulumikizana ndi Telegalamu'ohm imagwira ntchito bwino. Dinani Pangani fayilo, tiyeni timuyitane index.js, ndi pa intaneti Kodi editor matani khodi ili mufayilo iyi:

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

Mu Yandex.Cloud console iyenera kuwoneka motere:

Kupanga bot ya Telegraph ku Yandex.Cloud

Tsopano apa tikuwonetsa Polowera - index.botkumene index ili ndi dzina lafayilo (index.js), ndipo Bot - dzina la ntchito (module.exports.bot). Siyani magawo ena onse momwe alili, ndikudina batani lomwe lili pakona yakumanja Pangani mtundu. Mumasekondi pang'ono mtundu wa ntchitoyi udzapangidwa. Posakhalitsa atayesedwa webhook, tipanga mtundu watsopano - Malingaliro Anzeru.

Kupanga bot ya Telegraph ku Yandex.Cloud

Kusungirako chinthu

Tsopano popeza tapanga Yandex ntchito, bwerani, tili m'chitonthozo Yandex.Cloud, tiyeni tipange zomwe zimatchedwa ndowa (ndowa,ndi. Chidebe mu Chirasha, osati maluwa konse) posungira mafayilo omwe adzagwiritsidwe ntchito mu bot yathu Malingaliro Anzeru. Kumanzere navigation menyu kusankha katunduyo Kusungirako Zinthu, dinani batani Pangani chidebe, bwerani ndi dzina lake, mwachitsanzo, img-bucket, ndipo, chofunika kwambiri, Werengani kupeza zinthu Timaziwonetsa poyera - apo ayi Telegalamu siwona zithunzi zathu. Timasiya minda ina yonse osasintha. Dinani batani Pangani chidebe.

Kupanga bot ya Telegraph ku Yandex.Cloud

Pambuyo pake, mndandanda wa zidebe zonse ukhoza kuwoneka motere (ngati ichi ndi chidebe chanu chokha):

Kupanga bot ya Telegraph ku Yandex.Cloud

Tsopano ndikupemphani kuwonekera pa dzina la chidebe ndikupanga chikwatu mkati mwake kuti mukonzekere kusungirako zithunzi zamapulogalamu anu osiyanasiyana. Mwachitsanzo, kwa telegalamu bot Malingaliro Anzeru Ndinapanga foda yotchedwa tg-bot-smart-maganizo (palibe, ndimvetsetsa code iyi). Pangani imodzinso.

Kupanga bot ya Telegraph ku Yandex.Cloud

Tsopano mutha kudina dzina la chikwatucho, kulowamo ndikukweza mafayilo:

Kupanga bot ya Telegraph ku Yandex.Cloud

Ndipo podina dzina la fayilo - pezani ulalo kuti mugwiritse ntchito mu bot yathu, komanso pafupipafupi - kulikonse (koma osasindikiza izi ulalo zosafunika, popeza magalimoto kuchokera Kusungirako chinthu kulipidwa).

Kupanga bot ya Telegraph ku Yandex.Cloud

Ndizo zonse zomwe ziripo kwa izo Kusungirako chinthu. Tsopano mudziwa choti muchite mukawona mwachangu kukweza mafayilo pamenepo.

Webhook

Tsopano ife kukhazikitsa webhook -ndi. bot ikalandira zosintha (mwachitsanzo, uthenga wochokera kwa wogwiritsa ntchito) kuchokera pa seva uthengawo ku wathu Yandex ntchito pempho lidzatumizidwa (Pemphani) ndi data. Nawu mzere womwe mutha kungowuyika mu adilesi ya msakatuli wanu ndikutsitsimutsanso tsambalo (muyenera kuchita izi kamodzi): https://api.telegram.org/bot{bot_token}/setWebHook?url={webhook_url}
Tingosintha {bot_token} ku chizindikiro chomwe tidalandira kuchokera kwa bambo bot popanga bot yathu, ndi {webhook_url} - kupitilira ulalo wathu Yandex ntchito. Yembekezani kamphindi! Koma RossKomTsenzur imaletsa operekera ku Russian Federation kuti asatumize adilesi https://api.telegram.org. Inde, ndiko kulondola. Koma bwerani ndi chinachake. Ndipotu, mungathe, mwachitsanzo, kufunsa agogo anu za izi ku Ukraine, Israel kapena Canada - palibe "Rosskomcensorship" kumeneko, ndipo Mulungu amadziwa momwe anthu amakhalira popanda izo. Zotsatira zake, yankho la pempho mukakhazikitsa webhook liyenera kuwoneka motere:

Kupanga bot ya Telegraph ku Yandex.Cloud

Tikuyesa. Iyenera kukhala "galasi".

Kupanga bot ya Telegraph ku Yandex.Cloud

Izi ndi Zow. Zabwino zathu - tsopano Yandex ntchito anakhala uthengawo-boti!

Malingaliro Anzeru

Tsopano tiyeni tichite Malingaliro Anzeru. Khodiyo ndi yotseguka ndipo yagona GitHub. Imayankhidwa bwino ndipo ndi mizere zana yokha. Werengani ngati opera diva libretto!

Kupanga bot ya Telegraph ku Yandex.Cloud

Phatikizani projekiti ndikuyika zodalira:

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

Pangani zosintha zomwe mukufuna ku fayilo index.js (posankha; simukuyenera kusintha chilichonse). Pangani zipi-archive, ndi fayilo index.js ndi folda zigawo mkati, mwachitsanzo, pansi pa dzina smart.zip.

Kupanga bot ya Telegraph ku Yandex.Cloud

Tsopano pitani ku console yathu Yandex ntchito, sankhani tabu Zip archive, dinani batani Sankhani wapamwamba, ndi kukopera zakale zathu smart.zip. Pomaliza, pakona yakumanja yakumanja, dinani batani Pangani mtundu.

Kupanga bot ya Telegraph ku Yandex.Cloud

M'masekondi angapo, ntchito ikasinthidwa, tidzayesa bot yathu kachiwiri. Tsopano iye salinso "kalirole", koma amapereka malingaliro anzeru!

Kupanga bot ya Telegraph ku Yandex.Cloud

Ndizo zonse za lero. Nkhani zambiri zikutsatira. Ngati mukufuna kuwerenga izi, lembani kuzidziwitso za nkhani zatsopano. Mutha kulembetsa pano, kapena pa uthengawo-njira Maphunziro a IT Zakhar, kapena Twitter @mikezaharov.

powatsimikizira

Kodi pa GitHub
Yandex Cloud Functions
Yandex Object Storage
Maboti: Mawu oyamba kwa opanga
Telegraph Bot API

Zopereka

Kupanga bot ya Telegraph ku Yandex.Cloud

Source: www.habr.com

Kuwonjezera ndemanga