Ho aha bot ea Telegraph ho Yandex.Cloud

Ho aha bot ea Telegraph ho Yandex.Cloud

Kajeno, ho tloha ho lisebelisoa tse lahliloeng, re tla bokana Yandex.Cloud Telegram bot sebedisa Mesebetsi ea Yandex Cloud (kapa Mesebetsi ea Yandex - for short) le Yandex Object Storage (kapa Ho boloka ntho - bakeng sa ho hlaka). Khoutu e tla buloa Node.js. Leha ho le joalo, ho na le boemo bo le bong ba bohlokoa - mokhatlo o itseng o bitsoang, ha re re, RossKomTsenzur (censorship e thibetsoe ke Article 29 ea Molaotheo oa Russia Federation), ha e lumelle bafani ba Marang-rang ba Russia ho fetisetsa likopo ho Telegram API ka aterese: https://api.telegram.org/. Che, ha re - che, che. Etsoe, ka mokotleng oa rona ho na le seo ho thoeng ke sona. li-webhooks - ka thuso ea bona, ha re etse likopo ho aterese e itseng, empa re romela kopo ea rona e le karabo ho kopo leha e le efe ho rona. Ke hore, joalo ka Odessa, re araba potso ka potso. Ke ka lebaka lena Telegram API e ke ke ea hlaha khoutu ea rona.

BoithorolloMabitso a mekhatlo leha e le efe ea 'muso e boletsoeng sehloohong sena ke tšōmo, 'me ho ka etsahala hore ebe a lumellana le mabitso a mekhatlo ea sebele e etsahetseng ka tšohanyetso.

Kahoo, re tla etsa bot e tla re fa menahano e bohlale. Hantle joalo ka setšoantšong:

Ho aha bot ea Telegraph ho Yandex.Cloud

U ka e leka ka ts'ebetso - lebitso ke lena: @SmartThoughtsBot. Ela hloko konopo "Tsebo ea Alice"? Sena ke hobane bot ke mofuta oa "molekane" bakeng sa bot ea lebitso le le leng. Tsebo ea Alice, ke. e etsa mesebetsi e tšoanang le Tsebo ea Alice ’me ho ka etsahala hore ebe ba tla khona ho phela hammoho ka khotso ka ho bapatsana. Mabapi le mokhoa oa ho bopa bokgoni Mehopolo e Bohlale e hlalositsoeng sehloohong sena Alice o fumana tsebo. Hona joale (ka mor'a ho etsa liphetoho tse ling ka mor'a ho hatisoa ha sehlooho se ka holimo) ho smartphone sena tsebo e tla shebahala tjena:

Ho aha bot ea Telegraph ho Yandex.Cloud

Ho theha bot

Ke kopa hore thuto ena e be molemo ho bohle, ho kenyeletsoa. le lihahi tsa li-novice bot. Ka hona, karolong ena ke tla hlalosa ka ho qaqileng mokhoa oa ho bopa ka kakaretso thelekramo'e bots. Bakeng sa ba sa hlokeng tlhahisoleseding ena, tsoela pele ho likarolo tse latelang.

Bula sesebelisoa Telegaram, a re bitse ntate oa bots bohle (ba na le ntho e 'ngoe le e' ngoe joaloka batho) - @BotFather - 'me pele re tla mo fa taelo ea ho thusa ho hopola seo re ka se etsang. Hona joale re tla thahasella sehlopha / newbot.

Ho aha bot ea Telegraph ho Yandex.Cloud

Kaha bot e hlalositsoeng mona e se e bōpiloe, molemong oa lipontšo ke tla etsa bot e 'ngoe ka nako e khutšoanyane (ebe ke e hlakola). Ke tla mo bitsa DemoHabrBot. Mabitso (mosebedisi) ea liboto tsohle tsa thelekramo e tlameha ho qetella ka lentsoe bot,mohlala: MyCoolBot kapa my_cool_bot - sena ke sa bots. Empa pele re fa bot lebitso (lebitso) - mme sena ke sa batho. Lebitso le ka ba ka puo efe kapa efe, la ba le libaka, 'me ha lea tlameha ho qetella ka lentsoe bot,, 'me ha ho hlokahale hore e be e ikhethang. Mohlala ona, ke bitsitse bot ena Demo Habr.

Ho aha bot ea Telegraph ho Yandex.Cloud

Joale khetha lebitso la bot (mosebedisi, ea bots). Ha re mo bitseng DemoHabrBot. Ntho e ngoe le e ngoe e amanang le lebitso la bot (lebitso) ha e amane le lebitso la hae ho hang - mosebedisi (kapa e sebetsa, empa e hlile e fapane). Ka mor'a ho atleha ho theha lebitso le ikhethang la bot, re hloka ho kopitsa le ho boloka (ka kholiseho e tiileng!) Letšoao le bontšitsoeng skrineng ka motsu o mofubelu. Ka thuso ea eona hamorao re tla theha ho tloha ho thelekramo'Mele oa rona Mosebetsi oa Yandex.

Ho aha bot ea Telegraph ho Yandex.Cloud

Joale a re faneng ka taelo ho ntate oa li-bots tsohle: /mybots, 'me e tla re bontša lethathamo la li-bots tsohle tseo re li entseng. Ha re tloheleng bot e sa tsoa behoa hajoale Demo Habr (e bōpiloe ho bontša mokhoa oa ho bopa bots, empa re tla boela re e sebelise kajeno bakeng sa merero e meng ea pontšo), 'me re shebe bot. Mehopolo e Bohlale (@SmartThoughtsBot). Tobetsa konopo e nang le lebitso la eona lethathamong la bots.

Ho aha bot ea Telegraph ho Yandex.Cloud

Mona re ka hlophisa bot ea rona. Ka ho tobetsa konopo Hlophisa… Re tla tsoela pele ho hlophisa khetho e le 'ngoe kapa e' ngoe. Ka mohlala, ka ho tobetsa konopo Fetola Lebitso re ka fetola lebitso la bot, ho e-na le hoo Mehopolo e Bohlale, ngola Mehopolo ya Mahlanya. Botpic - ena ke avatar ea bot, e tlameha ho ba bonyane 150 x 150 px. Tlhaloso - ena ke tlhaloso e khuts'oane eo mosebelisi a e bonang ha a qala bot ka lekhetlo la pele, e le karabo ea potso: Bot ee e ka etsa eng? About - tlhaloso e khuts'oane le ho feta, e fetisitsoeng ka sehokelo ho bot (https://t.me/SmartThoughtsBot) kapa ha u sheba litaba ka eona.

Ho aha bot ea Telegraph ho Yandex.Cloud

Seo re lokelang ho se etsa feela ke ho theha litaelo. Ho etsa sena, tobetsa konopo Fetola Litaelo. Ho tiisa tloaelo ea basebelisi thelekramo e khothaletsa ho sebelisa litaelo tse peli kamehla: /qala и / Thusa, 'me haeba bot e hloka litlhophiso, sebelisa taelo ea tlatsetso /setting. Bot ea rona e bonolo joalo ka bolo, ka hona ha e hloke litlhophiso leha e le life. Re ngola litaelo tse peli tsa pele, tseo re tla li sebetsa ka khoutu. Joale, haeba mosebelisi a kenya slash (letšoao la slash: /) lebaleng la ho kenya, lethathamo la litaelo le tla hlaha bakeng sa khetho e potlakileng. Ntho e 'ngoe le e' ngoe e tšoana le setšoantšong: ka ho le letšehali - re kenya litaelo ka ntate bot; ka ho le letona, litaelo tsena li se li ntse li fumaneha ho basebelisi ba bot ea rona.

Ho aha bot ea Telegraph ho Yandex.Cloud

Mosebetsi oa Yandex

Kaha joale bot ea rona e se e entsoe, ha re ee ho Yandex.Cloudho theha mosebetsi o tla phethahatsa khoutu ea rona ea bot. Haeba ha o so sebetse le Yandex.Cloud bala boitsebiso boo Alice Naheng ea Bitrix, eaba - Mesebetsi ea Yandex e romella mangolo. Ke na le bonnete ba hore lihlooho tsena tse peli tse batlang li le khutšoanyane li tla lekana hore u be le kutloisiso ea motheo ea taba.

Kahoo ka console Yandex.Cloud ho menu ya ho tsamaya e ka ho le letshehadi kgetha ntho Mesebetsi ea Cloud, ebe o tobetsa konopo Etsa mosebetsi. Re e fa lebitso le tlhaloso e khutšoanyane bakeng sa rona.

Ho aha bot ea Telegraph ho Yandex.Cloud

Kamora ho tobetsa konopo bopa 'me ka mor'a metsotsoana e seng mekae, tšebetso e ncha e tla hlaha lethathamong la mesebetsi eohle. Tobetsa lebitsong la hae - sena se tla re isa leqepheng tjhebokakaretso mosebetsi oa rona. Mona o hloka ho bulela (On) fetola Mosebetsi oa sechabae le hore e fumanehe ho tsoa kantle (bakeng sa Yandex.Cloud) tsa lefatshe, le moelelo wa masimo Sehokelo sa mohala и Boitsebiso - e boloke e le lekunutu ho motho e mong le e mong ntle le uena le Telegraph, e le hore ts'ebetso ea hau e se ke ea bitsoa ke scammers tse fapaneng.

Ho aha bot ea Telegraph ho Yandex.Cloud

Joale, ka ho sebelisa menu e letšehali, e ea ho Mohlophisi mesebetsi. Ha re behelle ka thoko hanyane rona Mehopolo e Bohlale, 'me u thehe mosebetsi o fokolang oa template ho hlahloba ts'ebetso ea bot ea rona ... Leha ho le joalo, moelelong ona, mosebetsi ona ke bot ea rona ... Ka bokhutšoanyane, hona joale le hona mona re tla etsa bot e bonolo e tla "ipone" ( i.e. send back ) likopo tsa basebelisi. Template ena e ka sebelisoa kamehla ha u theha bots e ncha ea thelekramo ho etsa bonnete ba hore puisano le Telegram'ohm e sebetsa hantle. Tobetsa Etsa faele, a re e bitseng index.js, le inthaneteng Mohlophisi oa khoutu beha khoutu e latelang faeleng ena:

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

Ka Yandex.Cloud console e lokela ho shebahala tjena:

Ho aha bot ea Telegraph ho Yandex.Cloud

Ho feta mona re bontša Sebaka sa ho kena - index.botkae index ea lena ke lebitso la faele (index.js), le bot, - lebitso la mosebetsi (module.exports.bot). Tlohela masimo a mang kaofela joalo ka ha a le joalo, ebe o tobetsa konopo e hukung e kaholimo ho le letona Etsa mofuta. Ka metsotsoana e seng mekae mofuta ona oa ts'ebetso o tla etsoa. Nakoana ka mor'a tlhahlobo webhook, re tla theha mofuta o mocha - Mehopolo e Bohlale.

Ho aha bot ea Telegraph ho Yandex.Cloud

Ho boloka ntho

Hona joale re se re entse Mosebetsi oa Yandex, tloho, re ntse re le matšelisong Yandex.Cloud, a re theheng se bitsoang nkho (nkho, ke. nkho ka Serussia, eseng sehlopha ho hang) bakeng sa ho boloka lifaele tsa litšoantšo tse tla sebelisoa bot ea rona Mehopolo e Bohlale. Ho menu ya ho tsamaya e ka ho le letshehadi, kgetha ntho Ntho ea ho bolokoa ha lintho, tobetsa konopo Etsa nkho, hlahisa lebitso la eona, mohlala, img-bakete, mme haholoholo, Bala phihlello ea lintho Re e phatlalatsa - ho seng joalo Telegraph e ke ke ea bona linepe tsa rona. Re siea masimo a mang kaofela a sa fetoha. Tobetsa konopo Etsa nkho.

Ho aha bot ea Telegraph ho Yandex.Cloud

Kamora sena, lethathamo la libakete tsohle le ka shebahala tjena (haeba ena e le nkho ea hau feela):

Ho aha bot ea Telegraph ho Yandex.Cloud

Hona joale ke fana ka maikutlo a ho tobetsa lebitso la bakete le ho etsa foldara ka hare ho eona ho hlophisa polokelo ea litšoantšo bakeng sa likopo tsa hau tse fapaneng. Ka mohlala, bakeng sa bot ea thelekramo Mehopolo e Bohlale Ke entse foldara e bitsoang tg-bot-smart-menahano (ha ho letho, ke tla utloisisa khoutu ena). Etsa e 'ngoe hape.

Ho aha bot ea Telegraph ho Yandex.Cloud

Joale u ka tobetsa lebitsong la foldara, u kene ho eona ebe u kenya lifaele:

Ho aha bot ea Telegraph ho Yandex.Cloud

'Me ka ho tobetsa lebitsong la faele - e fumane URL bakeng sa tšebeliso bot ea rona, le ka kakaretso - kae kapa kae (empa u se ke ua phatlalatsa sena URL sa hlokahaleng, kaha sephethephethe ho tloha Ho boloka ntho qosoa).

Ho aha bot ea Telegraph ho Yandex.Cloud

Ke eona feela phetho e teng ho eona Ho boloka ntho. Joale u tla tseba seo u lokelang ho se etsa ha u bona molaetsa oa ho kenya lifaele moo.

Webhook

Joale re tla kenya webhook - ke hore. ha bot e fumana ntlafatso (mohlala, molaetsa o tsoang ho mosebelisi) ho tsoa ho seva thelekramo ho rona Mosebetsi oa Yandex kopo e tla romelloa (Kopo) e nang le data. Mona ke mohala oo u ka o behang sebakeng sa aterese sa sebatli sa hau ebe u nchafatsa leqephe (o tlameha ho etsa sena hang feela): https://api.telegram.org/bot{bot_token}/setWebHook?url={webhook_url}
Re tla e nkela sebaka {bot_token} ho lets'oao leo re le amohetseng ho ntate bot ha re theha bot ea rona, le {webhook_url} - tsoela pele URL tsa rona Mesebetsi ea Yandex. Ema hanyane! Empa RossKomTsenzur e thibela bafani ba Russia Federation ho fana ka aterese https://api.telegram.org. E, ho joalo. Empa tla le ho hong. Etsoe, ka mohlala, u ka botsa nkhono oa hao ka sena Ukraine, Israel kapa Canada - ha ho na "Rosskomcensorship" moo, 'me Molimo o tseba feela hore na batho ba phela joang ntle le eona. Ka lebaka leo, karabo ea kopo ha u kenya webhook e lokela ho shebahala tjena:

Ho aha bot ea Telegraph ho Yandex.Cloud

Re ntse re etsa liteko. E lokela ho "iponahatsa".

Ho aha bot ea Telegraph ho Yandex.Cloud

Ke 'nete. Liteboho tsa rona - joale Mosebetsi oa Yandex e fetohile thelekramo-bot!

Mehopolo e Bohlale

Joale ha re etseng Mehopolo e Bohlale. Khoutu e butsoe 'me e lutse GitHub. E hlalositsoe hantle 'me e bolelele ba mela e lekholo feela. E bale joalo ka opera diva libretto!

Ho aha bot ea Telegraph ho Yandex.Cloud

Kopanya morero 'me u kenye lintho tse itšetlehileng ka tsona:

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

Etsa liphetoho tseo u li hlokang ho file index.js (ka boikhethelo; ha ho hlokahale hore u fetole letho). Theha dipto-archive, e nang le faele index.js le foldara node_modules ka hare, mohlala, tlas'a lebitso smart.zip.

Ho aha bot ea Telegraph ho Yandex.Cloud

Joale e-ea ho console ho rona Mesebetsi ea Yandex, khetha tab Sebaka sa polokelo ea ZIP, tobetsa konopo Khetha faele, 'me u khoasolle polokelo ea rona smart.zip. Qetellong, k'honeng e kaholimo ho le letona, tobetsa konopo Etsa mofuta.

Ho aha bot ea Telegraph ho Yandex.Cloud

Ka metsotsoana e seng mekae, ha ts'ebetso e nchafatsoa, ​​re tla leka bot ea rona hape. Hona joale ha a sa "liipone", empa o fana ka mehopolo e bohlale!

Ho aha bot ea Telegraph ho Yandex.Cloud

Ke phetho bakeng sa kajeno. Lingoliloeng tse ling lia latela. Haeba u thahasella ho bala sena, ingolisa ho tsebiso mabapi le lingoliloeng tse ncha. U ka ngolisa mona, kapa ho thelekramo- mocha Thuto ea IT Zakharkapa Twitter @mikezaharov.

litšupiso

Khoutu ho GitHub
Mesebetsi ea Yandex Cloud
Yandex Object Storage
Bots: Kenyelletso bakeng sa bahlahisi
Telegram Bot API

Menehelo

Ho aha bot ea Telegraph ho Yandex.Cloud

Source: www.habr.com

Eketsa ka tlhaloso