Ke kūkulu nei i kahi bot Telegram ma Yandex.Cloud

Ke kūkulu nei i kahi bot Telegram ma Yandex.Cloud

I kēia lā, mai nā mea ʻōpala, e ʻākoakoa mākou Yandex.Cloud Telegram bot hoʻohana ʻana ʻO Yandex Cloud Functions (ai ole Nā hana Yandex - no ka pōkole) a Yandex Mea Waihona (ai ole Waihona mea - no ka akaka). E kau ana ke code Node.js. Eia nō naʻe, aia kahi kūlana piquant - kahi hui i kapa ʻia, e ʻōlelo kākou, RossKomTsenzur (ua papa ʻia ka censorship e ka Paukū 29 o ke Kumukānāwai o ka Russian Federation), ʻaʻole ʻae i nā mea hoʻolako pūnaewele Lūkini e hoʻouna i nā noi i Telegram API i ka wahi: https://api.telegram.org/. ʻAe, ʻaʻole mākou - ʻaʻole, ʻaʻole. Ma hope o nā mea a pau, i loko o kā mākou ʻeke i kapa ʻia. nā makau pūnaewele - me kā lākou kōkua, ʻaʻole mākou e noi i kahi helu kikoʻī, akā e hoʻouna wale i kā mākou noi i pane i kekahi noi iā mākou. ʻO ia hoʻi, e like me Odessa, pane mākou i kahi nīnau me kahi nīnau. ʻo ia ke kumu Telegram API ʻaʻole e ʻike ʻia ma kā mākou code.

HoʻoleleʻO nā inoa o kēlā me kēia hui aupuni i ʻōlelo ʻia ma kēia ʻatikala he mea kuhi hewa wale nō, a ʻo ka hoʻohālikelike ʻana me nā inoa o nā hui ola maoli, he kuhi wale.

No laila, e hana mākou i kahi bot e hāʻawi iā mākou i nā manaʻo akamai. E like me ke kiʻi:

Ke kūkulu nei i kahi bot Telegram ma Yandex.Cloud

Hiki iā ʻoe ke hoʻāʻo ma ka hana - eia ka inoa: @SmartThoughtsBot. ʻIke ʻia ke pihi "Ke akamai o Alice"? ʻO kēia no ka mea ʻo ka bot he ʻano "hoa" no ka bot o ka inoa like. Ke akamai o Alice, i.e. hana ia i na hana like Ke akamai o Alice a he hiki ia lakou ke noho like me ka maluhia ma o ka hoolaha ana kekahi i kekahi. E pili ana i ka hana ʻana akamai Manao akamai i wehewehe ʻia ma ka ʻatikala Loaʻa iā Alice ke akamai. I kēia manawa (ma hope o ka hana ʻana i kekahi mau hoʻololi ma hope o ka paʻi ʻana o ka ʻatikala ma luna aʻe) ma ke kelepona kēia akamai e like me kēia:

Ke kūkulu nei i kahi bot Telegram ma Yandex.Cloud

Ke hana nei i ka bot

Makemake au e lilo kēia kumu aʻo i mea pono i nā mea a pau, me. a me nā mea hana bot hou. No laila, ma kēia ʻāpana e wehewehe au i kekahi mau kikoʻī pehea e hana ai ma ka laulā Telegramnā bots. No ka poʻe makemake ʻole i kēia ʻike, e hele i nā ʻāpana aʻe.

E wehe i ka noi Telegaram, e kāhea kākou i ka makuakāne o nā bots āpau (loaʻa iā lākou nā mea āpau e like me nā kānaka) - @BotFather - a e hāʻawi mua mākou iā ia i ke kauoha /help e hōʻoluʻolu i kona hoʻomanaʻo i ka mea hiki iā mākou ke hana. I kēia manawa e hoihoi mākou i ka hui / newbot.

Ke kūkulu nei i kahi bot Telegram ma Yandex.Cloud

No ka mea ua hana ʻia ka bot i wehewehe ʻia ma ʻaneʻi, no ka hana hōʻikeʻike e hana wau i kahi bot hou no ka manawa pōkole (a laila holoi). E kāhea wau iā ia DemoHabrBot. Nā inoa (inoa mea hoʻohana) o nā bots telegram a pau e pau me ka huaʻōlelo botno ka laʻana: MyCoolBot ai ole ia, my_cool_bot - no nā bots kēia. Akā hāʻawi mua mākou i ka bot i inoa (inoa) - a no nā kānaka kēia. Hiki ke inoa ma kekahi ʻōlelo, loaʻa nā hakahaka, ʻaʻole pono e hoʻopau me kahi huaʻōlelo bot, a ʻaʻole pono e kū hoʻokahi. Ma kēia laʻana, ua kāhea wau i kēia bot Demo Habr.

Ke kūkulu nei i kahi bot Telegram ma Yandex.Cloud

E koho i kahi inoa no ka bot (inoa mea hoʻohana, ka mea no nā bots). E kāhea kākou iā ia DemoHabrBot. ʻO nā mea a pau e pili ana i ka inoa o ka bot (inoa) ʻaʻole pili i kona inoa - inoa mea hoʻohana (a i ʻole pili, akā ʻo ka ʻaoʻao ʻē aʻe). Ma hope o ka hoʻokumu ʻana i kahi inoa bot kū hoʻokahi, pono mākou e kope a mālama (ma ka hilinaʻi koʻikoʻi!) ʻO ka hōʻailona i hōʻike ʻia ma ke kiʻi me kahi pua ʻulaʻula. Me kāna kōkua e hoʻokumu mākou i ka originating mai Telegram'a webhook i ko kakou Hana ʻo Yandex.

Ke kūkulu nei i kahi bot Telegram ma Yandex.Cloud

Ano, e haawi aku kakou i ke kauoha i ka makua o na bots a pau: /mybots, a e hōʻike mai iā mākou i kahi papa inoa o nā bots a pau a mākou i hana ai. E haʻalele kākou i ka boti hou ʻia i kēia manawa Demo Habr (Ua hana ʻia e hōʻike i ka hana ʻana i nā bots, akā e hoʻohana pū mākou i kēia lā no nā kumu hōʻikeʻike ʻē aʻe), a e nānā kākou i ka bot Nā Manaʻo akamai (@SmartThoughtsBot). Kaomi i ke pihi me kona inoa ma ka papa inoa o nā bots.

Ke kūkulu nei i kahi bot Telegram ma Yandex.Cloud

Maanei hiki iā mākou ke hoʻonohonoho i kā mākou bot. Ma ke kaomi ʻana i ke pihi Hoʻoponopono… E neʻe mākou i ka hoʻoponopono ʻana i kahi koho a i ʻole. No ka laʻana, ma ke kaomi ʻana i ke pihi Hoʻonohonoho inoa hiki iā mākou ke hoʻololi i ka inoa o ka bot, e ʻōlelo Nā Manaʻo akamai, kakau Manaʻo pupule. Botpic - ʻo kēia ka avatar o ka bot, pono ma ka liʻiliʻi 150 x 150 px. Description - He wehewehe pōkole kēia i ʻike ʻia e ka mea hoʻohana i ka wā e hoʻomaka ai ka bot no ka manawa mua, ma ke ʻano he pane i ka nīnau: He aha ka hana a kēia bot? About - kahi wehewehe ʻoi aku ka pōkole, i hoʻouna ʻia me kahi loulou i ka bot (https://t.me/SmartThoughtsBot) a i ʻole ke nānā ʻana i ka ʻike e pili ana iā ia.

Ke kūkulu nei i kahi bot Telegram ma Yandex.Cloud

ʻO nā mea a mākou e hana ai, ʻo ka hoʻonohonoho ʻana i nā kauoha. No ka hana ʻana i kēia, kaomi i ke pihi Hoʻoponopono Kauoha. E hoʻohālikelike i ka hana hoʻohana Telegram paipai mau e hoʻohana i ʻelua kauoha: /hoʻomaka и / kōkua, a inā makemake ka bot i nā hoʻonohonoho, e hoʻohana i ke kauoha hou /setting. He maʻalahi kā mākou bot e like me ka pōpō, no laila ʻaʻole pono ia i nā hoʻonohonoho. Kākau mākou i nā kauoha mua ʻelua, a laila mākou e hana ma ke code. I kēia manawa, inā hoʻokomo ka mea hoʻohana i kahi slash (hōʻailona slash: /) ma ke kahua hoʻokomo, e ʻike ʻia kahi papa inoa o nā kauoha no ke koho wikiwiki. ʻO nā mea a pau e like me ke kiʻi: ma ka hema - hoʻokomo mākou i nā kauoha ma o ka papa bot; ma ka ʻākau, ua loaʻa kēia mau kauoha i nā mea hoʻohana i kā mākou bot.

Ke kūkulu nei i kahi bot Telegram ma Yandex.Cloud

Hana ʻo Yandex

I kēia manawa ua hana ʻia kā mākou bot, e hele kāua Yandex.Cloude hana i kahi hana e hoʻokō i kā mākou code bot. Inā ʻaʻole ʻoe i hana pū me Yandex.Cloud heluhelu i ka mea ʻO Alice i ka ʻāina o Bitrix, a laila - Hoʻouna nā hana Yandex i ka leka uila. Manaʻo wau e lawa kēia mau ʻatikala pōkole ʻelua i loaʻa iā ʻoe kahi ʻike kumu o ke kumuhana.

No laila ma ka console Yandex.Cloud ma ka papa kuhikuhi hema e koho i ka mea Nā hana kikowaena, a laila kaomi i ke pihi Hana i kahi hana. Hāʻawi mākou i kahi inoa a me kahi wehewehe pōkole no mākou iho.

Ke kūkulu nei i kahi bot Telegram ma Yandex.Cloud

Ma hope o ke kaomi ʻana i ke pihi ho okumu i a ma hope o ʻelua kekona, e ʻike ʻia ka hana hou ma ka papa inoa o nā hana āpau. Kaomi ma kona inoa - e lawe iā mākou i ka ʻaoʻao Hōʻuluʻulu manaʻo kā mākou hana. Maanei pono ʻoe e hoʻā (On) hoʻololi Hana lehulehui hiki ke loaʻa mai waho (no Yandex.Cloud) o ke ao nei, a me ke ano o na kihapai loulou kelepona и Mea hōʻike — huna huna ia mai na mea a pau koe wale no oe a me Telegram, i hiki ole ke kapaia kau hana e na kanaka scammers.

Ke kūkulu nei i kahi bot Telegram ma Yandex.Cloud

I kēia manawa, e hoʻohana ana i ka papa kuhikuhi hema, e hele i ʻO ka mea hoʻoponopono nā hana. E waiho i kahi manawa i kā mākou Nā Manaʻo akamai, a hana i kahi hana hoʻohālikelike liʻiliʻi e nānā i ka hana o kā mākou bot ... Eia naʻe, ma kēia ʻano, ʻo kēia hana kā mākou bot ... I ka pōkole, i kēia manawa a ma ʻaneʻi mākou e hana i kahi bot maʻalahi e "mirror" ( ʻo ia hoʻi e hoʻihoʻi ) nā noi mea hoʻohana. Hiki ke hoʻohana mau ʻia kēia mamana i ka hana ʻana i nā bots telegram hou e hōʻoia i ka kamaʻilio ʻana me Telegram'ohm hana maikai. Kaomi Hana i ka faila, e kāhea kākou index.js, a ma ka pūnaewele Hoʻoponopono code e hoʻopili i kēia code i loko o kēia faila:

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

Ma ka Yandex.Cloud console e like me kēia:

Ke kūkulu nei i kahi bot Telegram ma Yandex.Cloud

Ma lalo iho mākou e hōʻike ai Lae komo - index.botkahi Index ʻo kēia ka inoa faila (index.js), aii bot - inoa hana (module.exports.bot). E waiho i nā kahua ʻē aʻe a pau, a kaomi i ke pihi ma ke kihi ʻākau i luna Hana i ka mana. I loko o kekahi mau kekona e hana ʻia kēia mana o ka hana. Mahope koke iho o ka hoao ana webhook, e hana mākou i kahi mana hou - Nā Manaʻo akamai.

Ke kūkulu nei i kahi bot Telegram ma Yandex.Cloud

Waihona mea

I kēia manawa ua hana mākou Hana ʻo Yandex, hele mai, ʻoiai mākou i loko o ka console Yandex.Cloud, e hana kakou i ka mea i kapaia bakeke (, i.e. bakeke ma ka ʻōlelo Lūkini, ʻaʻole ia he bouquet) no ka mālama ʻana i nā faila kiʻi e hoʻohana ʻia i kā mākou bot Nā Manaʻo akamai. Ma ka papa kuhikuhi hema e koho i ka mea Pale Pūnaewele, kaomi i ke pihi E hana i kahi bākeke, e hoʻopuka mai i kahi inoa nona, no ka laʻana, img-bala, a ʻo ka mea nui loa, Heluhelu i ke komo ʻana i nā mea Hoʻolaha mākou i ka lehulehu - inā ʻaʻole ʻike ʻo Telegram i kā mākou mau kiʻi. Ke waiho nei mākou i nā kahua ʻē aʻe i hoʻololi ʻole ʻia. E kaomi i ke pihi E hana i kahi bākeke.

Ke kūkulu nei i kahi bot Telegram ma Yandex.Cloud

Ma hope o kēia, ʻo ka papa inoa o nā bākeke a pau ke ʻano like me kēia (inā ʻo kāu bakeke wale nō kēia):

Ke kūkulu nei i kahi bot Telegram ma Yandex.Cloud

I kēia manawa, manaʻo wau e kaomi i ka inoa o ka bākeke a hana i kahi waihona i loko e hoʻonohonoho i ka waiho ʻana o nā kiʻi no kāu mau noi like ʻole. No ka laʻana, no ka telegram bot Nā Manaʻo akamai Ua hana au i kahi waihona i kapa ʻia tg-bot-smart-manaʻo (ʻaʻohe mea, e maopopo iaʻu kēia code). E hana pū kekahi.

Ke kūkulu nei i kahi bot Telegram ma Yandex.Cloud

I kēia manawa hiki iā ʻoe ke kaomi i ka inoa folder, e hele i loko a hoʻouka i nā faila:

Ke kūkulu nei i kahi bot Telegram ma Yandex.Cloud

A ma ke kaomi ʻana i ka inoa faila - loaʻa URL no ka hoʻohana ʻana i kā mākou bot, a ma ka laulā - ma nā wahi āpau (akā, mai hoʻolaha i kēia URL pono ole, oiai ke kalaiwa mai Waihona mea uku ʻia).

Ke kūkulu nei i kahi bot Telegram ma Yandex.Cloud

ʻO ia wale nō ka mea Waihona mea. I kēia manawa e ʻike ʻoe i ka mea e hana ai ke ʻike ʻoe i kahi koi e hoʻouka i nā faila ma laila.

Webhook

I kēia manawa e hoʻokomo mākou webhook - i.e. i ka wā e loaʻa ai i ka bot ka hōʻano hou (no ka laʻana, he memo mai kahi mea hoʻohana) mai ke kikowaena Telegram i ko makou Hana ʻo Yandex e hoʻouna ʻia kahi noi (noi) me ka ʻikepili. Eia kahi laina hiki iā ʻoe ke hoʻopili wale i loko o ka kahua helu wahi o kāu polokalamu kele pūnaewele a laila hoʻomaha i ka ʻaoʻao (pono ʻoe e hana i kēia wale nō): https://api.telegram.org/bot{bot_token}/setWebHook?url={webhook_url}
E pani wale mākou {bot_token} i ka hōʻailona i loaʻa iā mākou mai ka makua kāne bot i ka hana ʻana i kā mākou bot, a {webhook_url} - ma URL kā mākou Nā hana Yandex. E kali i kekahi minuke! Akā RossKomTsenzur pāpā i nā mea hoʻolako i ka Russian Federation mai ka lawelawe ʻana i ka helu wahi https://api.telegram.org. ʻAe, pololei kēlā. Akā e hele mai i kahi mea. Ma hope o nā mea a pau, hiki iā ʻoe, no ka laʻana, e nīnau i kou kupuna wahine e pili ana i kēia ma Ukraine, Israel a Canada - ʻaʻohe "Rosskomcensorship" ma laila, a ʻo ke Akua wale nō ke ʻike i ka noho ʻana o nā kānaka me ka ʻole. ʻO ka hopena, ʻo ka pane noi i ka wā e hoʻokomo ai i kahi webhook e like me kēia:

Ke kūkulu nei i kahi bot Telegram ma Yandex.Cloud

Ke hoʻāʻo nei mākou. Pono ia "ke aniani".

Ke kūkulu nei i kahi bot Telegram ma Yandex.Cloud

He oiaio keia. Aloha mākou - i kēia manawa Hana ʻo Yandex ua lilo Telegram-bot!

Nā Manaʻo akamai

I kēia manawa e hana kākou i nā Manaʻo Naʻauao. Ua wehe ʻia ke code a waiho ʻia ma luna GitHub. Ua maikaʻi ka manaʻo ʻana a he haneli mau laina ka lōʻihi. E heluhelu e like me ka opera diva libretto!

Ke kūkulu nei i kahi bot Telegram ma Yandex.Cloud

Hoʻopili i ka papahana a hoʻokomo i nā mea hilinaʻi:

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

Hana i nā hoʻololi āu e pono ai i ka faila index.js (koho; ʻaʻole pono ʻoe e hoʻololi i kekahi mea). Hana helu- waihona, me ka waihona index.js a me ka waihona node_modules i loko, no ka laʻana, ma lalo o ka inoa akamai.zip.

Ke kūkulu nei i kahi bot Telegram ma Yandex.Cloud

I kēia manawa e hele i ka console i kā mākou Nā hana Yandex, koho i ka pā ZIP waihona, kaomi i ke pihi E koho i kahi faila, a hoʻoiho i kā mākou waihona akamai.zip. ʻO ka hope, ma ka ʻaoʻao ʻākau i luna, kaomi i ke pihi Hana i ka mana.

Ke kūkulu nei i kahi bot Telegram ma Yandex.Cloud

I loko o kekahi mau kekona, ke hoʻonui hou ʻia ka hana, e hoʻāʻo hou mākou i kā mākou bot. I kēia manawa ʻaʻole ʻo ia i "nā aniani", akā hāʻawi i nā manaʻo akamai!

Ke kūkulu nei i kahi bot Telegram ma Yandex.Cloud

ʻO ia wale nō no kēia lā. He mau ʻatikala hou aʻe. Inā makemake ʻoe e heluhelu i kēia, e kau inoa i nā leka hoʻomaopopo e pili ana i nā ʻatikala hou. Hiki iā ʻoe ke kau inoa ma aneʻi, a i ʻole ma Telegram-kanela IT Aʻo Zakharole Twitter @mikezaharov.

kūmole

Code ma GitHub
ʻO Yandex Cloud Functions
Yandex Mea Waihona
Bots: He hoʻolauna no nā mea hoʻomohala
Telegram Bot API

Hāʻawi

Ke kūkulu nei i kahi bot Telegram ma Yandex.Cloud

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka