Fausia se Telegram bot i Yandex.Cloud

Fausia se Telegram bot i Yandex.Cloud

I aso nei, mai mea faʻapipiʻi, o le a matou faʻapotopotoina Yandex.Cloud Telegram bot faʻaaogaina Yandex Cloud Galuega (po o Yandex galuega - mo puupuu) ma Yandex Object Storage (po o Teuga mea - mo le manino). O le a ola le code Node.js. Ae ui i lea, e tasi le tulaga faʻapitoa - o se faʻalapotopotoga e taʻua, seʻi tatou fai atu, RossKomTsenzur (ua fa'asaina le fa'asalaga e le Mataupu 29 o le Fa'avae o le Russian Federation), e le fa'atagaina le au'aunaga Initaneti a Rusia e tu'uina atu talosaga i Telegram API i: https://api.telegram.org/. Ia, matou te le - leai, leai. A uma, i totonu o le matou ato o loʻo i ai mea e taʻua. webhooks - faatasi ai ma la latou fesoasoani, matou te le faia ni talosaga i se tuatusi patino, ae na o le auina atu o la matou talosaga e fai ma tali i soʻo se talosaga ia i matou. O lona uiga, e pei o Odessa, matou te taliina se fesili ma se fesili. Mea tonu lava lena Telegram API o le a le aliali mai i la tatou code.

Fa'ailogaO igoa o soʻo se faʻalapotopotoga a le malo o loʻo taʻua i lenei mataupu e faʻamaonia, ma e mafai ona fetaui ma igoa o faʻalapotopotoga moni e faʻafuaseʻi.

O lea la, o le a matou faia se bot e maua ai matou mafaufauga atamai. E pei lava o le ata:

Fausia se Telegram bot i Yandex.Cloud

E mafai ona e fa'ata'ita'iina i le fa'atinoga - o le igoa lea: @SmartThoughtsBot. Matauina le faamau "O le Tomai o Alice"? E mafua ona o le bot o se ituaiga o "soa" mo le bot o le igoa tutusa. tomai o Alice, i.e. na te faia galuega tutusa e pei o tomai o Alice ma e ono mafai ona latou nonofo faatasi ma le filemu e ala i le faasalalauina o le tasi i le isi. E uiga i le auala e fai ai tomai Mafaufauga Atamai faamatalaina i le tusiga Ua maua e Alice le tomai. I le taimi nei (ina ua uma ona faia ni suiga ina ua maeʻa le lolomiina o le tusiga o loʻo i luga) i luga o le telefoni lenei tomai o le a foliga mai e pei o lenei:

Fausia se Telegram bot i Yandex.Cloud

Fausia se bot

Ou te manaʻo ia aoga lenei aʻoaʻoga i tagata uma, e aofia ai. ma faufale bot fou. O le mea lea, i lenei vaega o le a ou faʻamatalaina i nisi auiliiliga pe faʻafefea ona fatuina i se tulaga lautele uālesi'e bots. Mo i latou e le manaʻomia lenei faʻamatalaga, faʻagasolo atu i vaega nei.

Tatala le talosaga Telegaram, tatou taʻua le tama o bots uma (e iai mea uma e pei o tagata) - @BotFather - ma muamua matou te tuʻuina atu ia te ia le /fesoasoani faʻatonuga e toe faʻafouina lona manatua i mea e mafai ona matou faia. O lenei o le a tatou fiafia i le 'au / newbot.

Fausia se Telegram bot i Yandex.Cloud

Talu ai ona o le pusa o loʻo faʻamatalaina iinei ua uma ona faia, mo faʻataʻitaʻiga faʻamoemoe o le a ou faia se isi bot mo sina taimi puupuu (ona tape ai lea). Ou te valaau atu ia te ia DemoHabrBot. Igoa (username) o bots telegram uma e tatau ona fa'ai'u i le upu bot, mo se faataitaiga: MyCoolBot poʻo my_cool_bot - e mo bots lenei. Ae muamua matou te tuʻuina atu le bot se igoa (igoa) - ma e mo tagata. O le igoa e mafai ona i ai i so'o se gagana, e iai avanoa, ma e le tatau ona fa'ai'u i se upu bot, ma e le tatau foi ona tulaga ese. I lenei faʻataʻitaʻiga, na ou taʻua lenei bot Demo Habr.

Fausia se Telegram bot i Yandex.Cloud

Filifili nei se igoa mo le bot (username, le tasi mo bots). Tatou valaau ia te ia DemoHabrBot. O mea uma e fesoʻotaʻi ma le igoa o le bot (igoa) e le fesootai lava i lona igoa - username (pe fa'atatau, ae o le fa'afeagai tonu lava). A maeʻa ona fatuina se igoa bot tulaga ese, e manaʻomia ona tatou kopi ma faʻasaoina (i le faʻamaoni sili!) Le faʻailoga o loʻo faʻaalia i le faʻamalama ma se aū mumu. Faatasi ai ma lana fesoasoani o le a matou faʻamautuina mulimuli ane le amataga mai uālesi'se upega i la matou Yandex galuega.

Fausia se Telegram bot i Yandex.Cloud

Sei o tatou tuuina atu le poloaiga i le tama o bots uma: /mybots, ma o le a faʻaalia mai ia i matou se lisi o bots uma na matou fatuina. Se'i o tatou tu'u na'o le pate fa'ato'a tao mo le taimi nei Demo Habr (na faia e faʻaalia ai le faʻaogaina o bots, ae o le a tatou faʻaaogaina foi i aso nei mo isi faʻamoemoega faʻataʻitaʻiga), ma seʻi o tatou tilotilo i le bot Mafaufauga Atamai (@SmartThoughtsBot). Kiliki le ki ma lona igoa i le lisi o bots.

Fausia se Telegram bot i Yandex.Cloud

O iinei e mafai ai ona matou faʻatulagaina la matou bot. I le oomiina o le faamau Fa'atonu... O le a tatou agai i luma i le teuteuina o se tasi poʻo se isi filifiliga. Mo se faʻataʻitaʻiga, e ala i le kiliki i luga o le ki Faʻatonutonu Igoa e mafai ona tatou suia le igoa o le bot, fai mai nai lo Mafaufauga Atamai, tusi Manatu Faavalevalea. Botpic - o le avatar a le bot, e tatau ona sili 150 x 150 px. faʻamatalaga - o se faʻamatalaga puupuu lea e vaʻaia e le tagata faʻaoga pe a amataina le bot mo le taimi muamua, o se tali i le fesili: O le a se mea e mafai e lenei bot? E tusa o le - o se faʻamatalaga puupuu, lea e tuʻuina atu ma se fesoʻotaʻiga i le bot (https://t.me/SmartThoughtsBot) pe a va'ai i fa'amatalaga e uiga i ai.

Fausia se Telegram bot i Yandex.Cloud

Pau lava le mea e tatau ona tatou faia o le setiina o poloaiga. Ina ia faia lenei mea, oomi le faamau Fa'atonu Poloaiga. Ia fa'ata'atia faiga fa'aoga uālesi fautuaina i taimi uma e faʻaaoga ai tulafono e lua: /amata и / fesoasoani, ma afai e manaʻomia e le bot le faʻatulagaina, faʻaoga le faʻatonuga / faʻatonuga. O la matou bot e faigofie pei o se polo, o lea e le manaʻomia ai ni faʻatulagaga. Matou te tusia tulafono muamua e lua, ona matou faʻaogaina lea i le code. I le taimi nei, afai e ulufale le tagata faʻaoga i se faʻailoga (slash sign: /) i totonu o le fanua faʻaoga, o le a faʻaalia se lisi o poloaiga mo le filifiliga vave. O mea uma e pei o le ata: i le agavale - matou te faʻapipiʻi poloaiga e ala i le tama tama; i le itu taumatau, o nei poloaiga o loʻo avanoa mo tagata faʻaoga i la matou bot.

Fausia se Telegram bot i Yandex.Cloud

Yandex galuega

O lea la ua faia la tatou bot, tatou o i Yandex.Cloude fai ai se galuega e fa'atino ai le code a tatou bot. Afai e te le'i galue ma Yandex.Cloud faitau le mataupu Alice i le Nuu o Bitrix, ae teʻi ane - Yandex galuega e lafo meli. Ou te mautinoa o nei tala pupuu e lua o le a lava mo oe e maua ai se malamalamaga autu o le mataupu.

O lea i totonu o le console Yandex.Cloud i le lisi agavale navigation filifili le mea Ao galuega, ona oomi lea o le faamau Fausia se galuega. Tatou te tuuina atu i ai se igoa ma se faamatalaga puupuu mo i tatou lava.

Fausia se Telegram bot i Yandex.Cloud

Ina ua uma ona oomiina le faamau faia ma a maeʻa ni nai sekone, o le a faʻaalia le galuega fou i le lisi o galuega uma. Kiliki i lona igoa - o le a ave i tatou i le itulau lagona la tatou galuega. O iinei e te manaʻomia e mafai ai (On) sui Galuega faiteleina ia mafai ona maua mai fafo (mo Yandex.Cloud) o le lalolagi, ma le uiga o fanua Valaau feso'ota'iga и Fa'ailoa - ia matua faalilolilo mai tagata uma sei vagana ai oe lava ma Telegram, ina ia le mafai ona valaʻau lau galuega e tagata taufaaleaga eseese.

Fausia se Telegram bot i Yandex.Cloud

Ia, fa'aaoga le lisi agavale, alu i O le faatonu galuega tauave. Tatou tuu ese mo sina taimi a tatou Mafaufauga Atamai, ma fatuina se galuega faʻataʻitaʻi laʻititi e siaki ai le faʻatinoga o la tatou bot ... Ae ui i lea, i lenei tulaga, o lenei galuega o la tatou bot ... I se faapuupuuga, i le taimi nei ma iinei o le a tatou faia ai se bot faigofie o le a "faʻata" ( i.e. toe auina atu ) talosaga a tagata e faaaogāina. E mafai lava ona fa'aoga lenei fa'ata'ita'iga pe a faia ni bots telegram fou e fa'amautinoa ai le feso'ota'iga ma Telegram'ohm galue lelei. Kiliki Fausia faila, tatou valaau ia te ia index.js, ma luga ole laiga Fa'atonu tulafono faapipii le code lea i totonu o le faila lea:

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

I le Yandex.Cloud console e tatau ona pei o lenei:

Fausia se Telegram bot i Yandex.Cloud

I lalo ifo matou te faʻaalia Ulufale - index.botfea limatusi o le igoa faila lea (index.js), ma bot - igoa galuega (module.exports.bot). Tuu uma isi fanua e pei ona i ai, ma kiliki le ki i le tulimanu pito i luga taumatau Fausia lomiga. I ni nai sekone o le a faia ai lenei fa'aaliga o le galuega. E le'i leva ona uma le su'ega webhook, o le a matou faia se lomiga fou - Mafaufauga Atamai.

Fausia se Telegram bot i Yandex.Cloud

Teuga mea

O lea ua tatou faia Yandex galuega, sau ia, a o tatou i ai i le faamafanafanaga Yandex.Cloud, tatou faia le mea ua ta'ua pakete (pakete, i.e. pakete i le gagana Rusia, e le o se teufugalaʻau) mo le teuina o faila ata o le a faʻaaogaina i totonu o la matou bot Mafaufauga Atamai. I le lisi agavale navigation filifili le mea Lisi Meafaitino, fetaomi le faamau Fausia se pakete, sau ma se igoa mo ia, mo se faataitaiga, img-pakete, ma, sili ona taua, Faitau avanoa i mea faitino Matou te fa'asalalau fa'alaua'itele - a leai o le a le va'aia e Telegram a matou ata. Matou te tuua uma isi fanua e le suia. Oomi le faamau Fausia se pakete.

Fausia se Telegram bot i Yandex.Cloud

A maeʻa lenei, o le lisi o pakete uma atonu e foliga faʻapenei (pe a na o lau pakete lea):

Fausia se Telegram bot i Yandex.Cloud

O lea ou te fautua atu e kiliki i luga o le igoa o le pakete ma fatuina se faila i totonu e faʻatulaga ai le teuina o ata mo au talosaga eseese. Mo se faʻataʻitaʻiga, mo se telegram bot Mafaufauga Atamai Na ou faia se faila e taʻua tg-bot-atamai-mafaufauga (leai se mea, o le a ou malamalama i lenei code). Fausia foi se tasi.

Fausia se Telegram bot i Yandex.Cloud

O lea e mafai ona e kiliki i le igoa faila, alu i totonu ma faʻapipiʻi faila:

Fausia se Telegram bot i Yandex.Cloud

Ma i le kilikiina o le igoa faila - maua URL mo le faʻaogaina i totonu o la matou bot, ma lautele - i soʻo se mea (ae aua le lolomiina lenei mea URL le talafeagai, talu ai felauaiga mai Teuga mea molia).

Fausia se Telegram bot i Yandex.Cloud

E na'o le pau lena o le mea Teuga mea. O lea o le a e iloa le mea e fai pe a e vaʻai i se faʻamalosi e faʻapipiʻi faila iina.

Webhook

O lea o le a matou faʻapipiʻi webhook - i.e. pe a maua e le bot se faʻafouga (mo se faʻataʻitaʻiga, se feʻau mai se tagata faʻaoga) mai le server uālesi ia tatou Yandex galuega o le a lafo atu se talosaga (talosaga) ma fa'amaumauga. Ole laina lea e mafai ona e fa'apipi'i i totonu ole tuatusi tuatusi ole su'esu'ega ona fa'afou lea o le itulau (e na'o le tasi le mea e te faia ai): https://api.telegram.org/bot{bot_token}/setWebHook?url={webhook_url}
O le a tatou suia {bot_token} i le faailoga na matou maua mai le tama tama pe a fatuina la matou bot, ma {webhook_url} - luga URL tatou Yandex galuega. Faatali mo sina minute! Ae RossKomTsenzur fa'asaina le au'aunaga i Rusia mai le tautuaina o le tuatusi https://api.telegram.org. Ioe, e sa'o. Ae aumai se mea. A uma, e mafai, mo se faʻataʻitaʻiga, fesili i lou tinamatua e uiga i lenei mea i Iukureini, Isaraelu poʻo Kanata - e leai se "Rosskomcensorship" iina, ma e naʻo le Atua na te silafia le auala e ola ai tagata e aunoa ma lena. O se taunuuga, o le talosaga-tali pe a faʻapipiʻi se webhook e tatau ona pei o lenei:

Fausia se Telegram bot i Yandex.Cloud

O loʻo matou suʻeina. E tatau ona "faaata".

Fausia se Telegram bot i Yandex.Cloud

E moni lenei mea. Tatou faamalo - nei Yandex galuega avea uālesi-pot!

Mafaufauga Atamai

Ia tatou fai Mafaufauga Atamai. O lo'o tatala le code ma taoto i luga GitHub. E fai lava si lelei fa'amatalaga ma e na'o le selau laina le umi. Faitau e pei o se opera diva libretto!

Fausia se Telegram bot i Yandex.Cloud

Clone le poloketi ma faʻapipiʻi faʻalagolago:

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

Fai suiga e te mana'omia ile faila index.js (filifiliga; e te le tau suia se mea). Fausia ZIP-archive, ma faila index.js ma le faila node_modules totonu, mo se faataitaiga, i lalo o le igoa atamai.zip.

Fausia se Telegram bot i Yandex.Cloud

Alu nei i le console i la matou Yandex galuega, filifili le tab ZIP archive, kiliki le faʻamau Filifili se faila, ma la'u mai la matou fa'amaumauga atamai.zip. Mulimuli ane, i le tulimanu pito i luga taumatau, kiliki le ki Fausia lomiga.

Fausia se Telegram bot i Yandex.Cloud

I ni nai sekone, pe a faʻafouina le galuega, matou te toe suʻeina le matou bot. O lea ua le toe "faata", ae na te aumaia mafaufauga atamai!

Fausia se Telegram bot i Yandex.Cloud

Pau lava lena mo le aso. O lo'o mulimuli mai nisi tala. Afai e te fiafia e faitau i lenei mea, lesitala i faʻamatalaga e uiga i tala fou. E mafai ona e lesitala iinei, poʻo i uālesi-auala IT Tutorial Zakharpoʻo Twitter @mikezaharov.

mau

Code ile GitHub
Yandex Cloud Galuega
Yandex Object Storage
Bots: O se folasaga mo tagata atiaʻe
Telegram Bot API

foa'i

Fausia se Telegram bot i Yandex.Cloud

puna: www.habr.com

Faaopoopo i ai se faamatalaga