Adeiladu bot Telegram yn Yandex.Cloud

Adeiladu bot Telegram yn Yandex.Cloud

Heddiw, o ddeunyddiau byrfyfyr, byddwn yn casglu i mewn Yandex.Cloud Telegram bot gan ddefnyddio Swyddogaethau Cwmwl Yandex (Neu Swyddogaethau Yandex am grynodeb) a Storio Gwrthrych Yandex (Neu Storio Gwrthrych - er eglurder). Bydd y cod ymlaen Node.js. Fodd bynnag, mae un amgylchiad hynod - sefydliad penodol a elwir, gadewch i ni ddweud, RossKomCensoriaeth (gwaherddir sensoriaeth gan erthygl 29 o Gyfansoddiad Ffederasiwn Rwsia), nid yw'n caniatáu i ddarparwyr Rhyngrwyd yn Rwsia drosglwyddo ceisiadau i Telegram API i'r cyfeiriad: https://api.telegram.org/. Wel, ni fyddwn - na, na. Yn wir, yn ein bag mae hyn a elwir. bachau gwe - gyda'u cymorth, nid ydym yn gwneud ceisiadau i gyfeiriad penodol, ond dim ond yn anfon ein cais fel ymateb i unrhyw gais atom. Hynny yw, fel yn Odessa - rydym yn ateb cwestiwn gyda chwestiwn. Dyna pam Telegram API Ni fydd yn ymddangos yn ein cod.

YmwadiadDychmygol yw enwau unrhyw sefydliadau gwladwriaethol a grybwyllir yn yr erthygl hon, ac mae cyd-ddigwyddiadau posibl ag enwau sefydliadau bywyd go iawn yn ddamweiniol.

Felly, byddwn yn gwneud bot a fydd yn rhoi meddyliau craff inni. Yn union fel yn y llun:

Adeiladu bot Telegram yn Yandex.Cloud

Gallwch roi cynnig arni ar waith - dyma'r enw: @SmartThoughtsBot. Sylwch ar y botwm "Sgil Alice"? Mae hyn oherwydd bod y bot yn fath o "gydymaith" i'r eponymous sgil Alice, h.y. mae'n cyflawni'r un swyddogaethau â sgil Alice ac, efallai, y gallant gydfodoli yn heddychlon hysbysebu ei gilydd. Ynglŷn â sut i greu Sgil Meddwl Clyfar a ddisgrifir yn yr erthygl Alice yn cael y sgil. Nawr (ar ôl gwneud rhai newidiadau ar ôl cyhoeddi'r erthygl uchod) ar ffôn clyfar hwn sgil bydd yn edrych rhywbeth fel hyn:

Adeiladu bot Telegram yn Yandex.Cloud

Creu bot

Hoffwn i'r tiwtorial hwn fod yn ddefnyddiol i bawb, gan gynnwys. a dechreuwyr "adeiladwyr bot". Felly, yn yr adran hon byddaf yn disgrifio'n fanwl sut i greu yn gyffredinol yn Telegram'e bots. I'r rhai nad oes angen y wybodaeth hon arnynt, ewch ymlaen i'r adrannau nesaf.

Agorwch y cais Telegaram, rydyn ni'n galw tad pob bots (mae ganddyn nhw bopeth fel pobl) - @BotTad — ac i ddechreu, rhoddwn iddo y / gorchymyn cynnorthwyol i adnewyddu ein cof yr hyn a allwn ei wneuthur. Nawr mae gennym ddiddordeb yn y tîm / newbot.

Adeiladu bot Telegram yn Yandex.Cloud

Gan fod y bot a ddisgrifir yma eisoes wedi'i greu, at ddibenion arddangos byddaf yn creu bot arall am gyfnod byr (yna byddaf yn ei ddileu). Byddaf yn ei alw DemoHabrBot. Enwau (enw defnyddiwr) rhaid i bob bot telegram ddiweddu gyda gair bot, er enghraifft: MyCoolBot neu fy_bot_cool Mae hyn ar gyfer bots. Ond yn gyntaf, rhowch enw i'r bot (enw) ar gyfer pobl. Gall yr enw fod mewn unrhyw iaith, cynnwys bylchau, nid oes rhaid iddo orffen gyda gair bot, ac nid oes rhaid iddo fod yn unigryw hyd yn oed. Yn yr enghraifft hon, gelwais y bot hwn Demo Habr.

Adeiladu bot Telegram yn Yandex.Cloud

Nawr dewiswch enw ar gyfer y bot (enw defnyddiwr, yr un ar gyfer bots). Gadewch i ni ei alw DemoHabrBot. Popeth yn ymwneud ag enw'r bot (enw) ddim yn perthyn i'w enw o gwbl - enw defnyddiwr (neu yn berthnasol, ond yn union i'r gwrthwyneb). Ar ôl creu enw bot unigryw yn llwyddiannus, mae angen i ni gopïo a chadw (yn gwbl gyfrinachol!) y tocyn a ddangosir yn y sgrin gyda saeth goch. Gyda'i help, byddwn yn gosod yr allan yn ddiweddarach Telegram' yn wehook i'n Swyddogaeth Yandex.

Adeiladu bot Telegram yn Yandex.Cloud

Ac yn awr rhown orchymyn i dad pob bot: /mybotsa bydd yn dangos rhestr i ni o'r holl bots rydyn ni wedi'u creu. Gadewch i ni adael llonydd i'r bot newydd ei bobi am y tro Demo Habr (cafodd ei greu i ddangos sut i greu bots, ond byddwn yn ei ddefnyddio heddiw at ddibenion arddangos eraill), ac yn ystyried y bot Syniadau Clyfar (@SmartThoughtsBot). Cliciwch y botwm gyda'i enw yn y rhestr o bots.

Adeiladu bot Telegram yn Yandex.Cloud

Dyma lle gallwn sefydlu ein bot. Gwthio botwm Golygu… byddwn yn symud ymlaen i olygu un neu opsiwn arall. Er enghraifft, trwy glicio ar y botwm Golygu Enw gallwn newid enw'r bot, dywedwch yn lle Syniadau Clyfar, ysgrifennu syniadau gwallgof. Botpic - dyma avatar y bot, rhaid bod o leiaf 150 x 150 px. Disgrifiad yn ddisgrifiad byr y mae'r defnyddiwr yn ei weld pan fydd y bot yn cael ei lansio am y tro cyntaf, fel ateb i'r cwestiwn: Beth all y bot hwn ei wneud? Ynghylch - disgrifiad byrrach fyth, sy'n cael ei drosglwyddo gyda dolen i'r bot (https://t.me/SmartThoughtsBot) neu wrth edrych ar wybodaeth amdano.

Adeiladu bot Telegram yn Yandex.Cloud

Mae angen i ni sefydlu'r gorchmynion. I wneud hyn, pwyswch y botwm Golygu Gorchmynion. I safoni arferion defnyddwyr Telegram yn argymell defnyddio dau orchymyn bob amser: /dechrau и / help, ac os oes angen gosodiadau ar y bot, gorchymyn / gosodiadau ychwanegol. Mae ein bot mor syml â phêl, felly nid oes angen unrhyw osodiadau arno eto. Rydyn ni'n ysgrifennu'r ddau orchymyn cyntaf, y byddwn ni wedyn yn eu prosesu yn y cod. Nawr, os yw'r defnyddiwr yn mynd i mewn i slaes (cymeriad slaes: /) yn y maes mewnbwn, bydd rhestr o orchmynion yn ymddangos ar gyfer eu dewis cyflym. Mae popeth fel yn y llun: ar y chwith - rydyn ni'n gosod gorchmynion trwy'r tad-bot; ar y dde, mae'r gorchmynion hyn eisoes ar gael i ddefnyddwyr yn ein bot.

Adeiladu bot Telegram yn Yandex.Cloud

Swyddogaeth Yandex

Nawr bod ein bot wedi'i greu, gadewch i ni fynd i Yandex.Cloudi greu swyddogaeth a fydd yn gweithredu ein cod bot. Os nad ydych wedi gweithio gyda Yandex.Cloud darllenwch y deunydd Alice yng ngwlad Bitrix, ac yna - Mae swyddogaethau Yandex yn anfon post. Dwi bron yn siŵr y bydd y ddwy erthygl gymharol fach yma yn ddigon i chi gael dealltwriaeth sylfaenol o’r pwnc.

Felly yn y consol Yandex.Clouds yn y ddewislen llywio chwith, dewiswch yr eitem Swyddogaethau Cwmwl, ac yna pwyswch y botwm Creu swyddogaeth. Rydyn ni'n rhoi enw iddo, ac i ni ein hunain - disgrifiad byr.

Adeiladu bot Telegram yn Yandex.Cloud

Ar ôl pwyso'r botwm creu ac ar ôl ychydig eiliadau, bydd y swyddogaeth newydd yn ymddangos yn y rhestr o'r holl swyddogaethau. Cliciwch ar ei henw - bydd hyn yn mynd â ni i'r dudalen Adolygu ein swyddogaeth. Yma mae angen i chi alluogiOn) switsh swyddogaeth gyhoeddusi'w wneud ar gael o'r allanol (ar gyfer Yandex.Clouds) o'r byd, a gwerth y meusydd Dolen i'r alwad и Dynodwr - cadwch ef yn gyfrinachol iawn oddi wrth bawb ac eithrio chi eich hun a Telegram, fel na all amrywiol swindlers alw eich swyddogaeth.

Adeiladu bot Telegram yn Yandex.Cloud

Nawr gan ddefnyddio'r ddewislen chwith ewch i Y golygydd swyddogaethau. Gadewch inni roi o'r neilltu am eiliad ein Syniadau Clyfar, a chreu swyddogaeth templed lleiaf posibl i wirio perfformiad ein bot ... Fodd bynnag, yn y cyd-destun hwn, y swyddogaeth hon yw ein bot ... Yn fyr, nawr ac i'r dde yma byddwn yn gwneud y bot symlaf a fydd yn “drych” ( h.y. anfon yn ôl) geisiadau defnyddwyr. Gellir defnyddio'r templed hwn bob amser wrth greu bots telegram newydd i wneud yn siŵr bod cyfathrebu â Telegram'om yn gweithio'n iawn. Cliciwch Creu ffeil, ei alw mynegai.js, ac ar-lein Golygydd cod gludwch y cod canlynol i'r ffeil hon:

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

Yn y consol Yandex.Cloud, dylai edrych rhywbeth fel hyn:

Adeiladu bot Telegram yn Yandex.Cloud

Isod, rydym yn nodi pwynt mynediad - mynegai.botlle mynegai dyma enw'r ffeil (mynegai.js), a bot - enw ffwythiant (modiwl.exports.bot). Gadewch yr holl feysydd eraill "fel y mae", ac yn y gornel dde uchaf cliciwch y botwm Creu Fersiwn. Ar ôl ychydig eiliadau, bydd y fersiwn hon o'r swyddogaeth yn cael ei chreu. Yn fuan ar ôl profi bachyn gwe, byddwn yn creu fersiwn newydd − Syniadau Clyfar.

Adeiladu bot Telegram yn Yandex.Cloud

Storio Gwrthrych

Nawr ein bod wedi sefydlu Swyddogaeth Yandexgadewch i ni fynd tra rydyn ni yn y consol Yandex.Clouds, creu hyn a elwir. bwced (bwced, h.y. bwced yn Rwsieg, nid tusw o bell ffordd) ar gyfer storio ffeiliau delwedd a fydd yn cael eu defnyddio yn ein bot Syniadau Clyfar. Dewiswch o'r ddewislen llywio chwith Storio Gwrthrychau, pwyswch y botwm Creu bwced, rhowch enw iddo, er enghraifft, img- bwced, ac, yn bwysicaf oll, Darllen mynediad i wrthrychau gwnewch yn gyhoeddus - fel arall ni fydd Telegram yn gweld ein lluniau. Mae pob maes arall yn cael ei adael heb ei newid. Rydym yn pwyso'r botwm Creu bwced.

Adeiladu bot Telegram yn Yandex.Cloud

Ar ôl hynny, efallai y bydd rhestr o'r holl fwcedi yn edrych yn debyg i hyn (os mai dyma'ch unig fwced):

Adeiladu bot Telegram yn Yandex.Cloud

Nawr rwy'n bwriadu clicio ar enw'r bwced, ac y tu mewn iddo greu ffolder i drefnu storio lluniau ar gyfer gwahanol gymwysiadau. Er enghraifft, ar gyfer bot telegram Syniadau Clyfar Creais ffolder o'r enw tg-bot-smart-meddyliau (Dim byd, byddaf yn deall y seiffr hwn). Creu un hefyd.

Adeiladu bot Telegram yn Yandex.Cloud

Nawr gallwch chi glicio ar enw'r ffolder, mynd i mewn iddo a llwytho ffeiliau i fyny:

Adeiladu bot Telegram yn Yandex.Cloud

A chlicio ar enw'r ffeil - ei gael URL i'w defnyddio yn ein bot, ac yn gyffredinol - yn unrhyw le (ond, peidiwch â chyhoeddi hyn URL yn ddiangen, ers traffig o storio gwrthrychau codir).

Adeiladu bot Telegram yn Yandex.Cloud

Yma, mewn gwirionedd, dyna i gyd storio gwrthrychau. Nawr byddwch chi'n gwybod beth i'w wneud pan welwch yr anogwr i uwchlwytho ffeiliau yno.

Bachyn gwe

Nawr byddwn yn gosod bachyn gwe —h.y. pan fydd y bot yn derbyn diweddariad (er enghraifft, neges gan y defnyddiwr), gan y gweinydd Telegram i mewn i'n Swyddogaeth Yandex anfonir caisofyn am) gyda data. Dyma linyn y gallwch chi ei gludo i faes cyfeiriad y porwr, ac yna adnewyddu'r dudalen (dim ond unwaith y mae angen gwneud hyn): https://api.telegram.org/bot{bot_token}/setWebHook?url={webhook_url}
Dim ond disodli {bot_token} i'r tocyn a gawsom gan y tad bot wrth greu ein bot, a {webook_url} - ymlaen URL ein Swyddogaethau Yandex. Arhoswch funud! Ond RossKomCensoriaeth yn gwahardd darparwyr yn y Ffederasiwn Rwsia i wasanaethu'r cyfeiriad https://api.telegram.org. Ydy Mae hynny'n gywir. Ond gallwch chi feddwl am rywbeth. Wedi'r cyfan, gallwch chi, er enghraifft, ofyn i'ch mam-gu amdano yn yr Wcrain, Israel neu Ganada - nid oes “sensoriaethau Rwsiaidd” yno, a dim ond Duw sy'n gwybod sut mae pobl yn byw hebddo. O ganlyniad, dylai'r ymateb cais wrth osod y bachyn gwe edrych fel hyn:

Adeiladu bot Telegram yn Yandex.Cloud

Profi. Dylid ei adlewyrchu.

Adeiladu bot Telegram yn Yandex.Cloud

Mae hyn yn wir. Ein llongyfarchiadau - nawr Swyddogaeth Yandex wedi dod yn Telegram-bot!

Syniadau Clyfar

Ac yn awr rydym yn gwneud Smart Thoughs. Mae'r cod yn agored ac yn gorwedd arno GitHub. Mae sylwadau eithaf da, a dim ond can llinell o hyd ydyw. Darllenwch ef fel libreto diva opera!

Adeiladu bot Telegram yn Yandex.Cloud

Cloniwch y prosiect a gosodwch y dibyniaethau:

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

Gwnewch y newidiadau sydd eu hangen arnoch i'r ffeil mynegai.js (dewisol; ni ​​allwch newid unrhyw beth). Creu zip-archive, gyda ffeil mynegai.js a ffolder nod_modiwlau tu mewn, er enghraifft, o'r enw smart.zip.

Adeiladu bot Telegram yn Yandex.Cloud

Nawr ewch yn y consol i'n Swyddogaethau Yandex, dewiswch y tab Archif ZIP, pwyswch y botwm Dewiswch ffeila lawrlwythwch ein harchif smart.zip. Yn olaf, yn y gornel dde uchaf, cliciwch ar y botwm Creu Fersiwn.

Adeiladu bot Telegram yn Yandex.Cloud

Mewn ychydig eiliadau, pan fydd y swyddogaeth yn cael ei diweddaru, byddwn yn profi ein bot eto. Nawr nid yw bellach yn “drychau”, ond yn cyflwyno meddyliau craff!

Adeiladu bot Telegram yn Yandex.Cloud

Dyna i gyd am heddiw. Mae erthyglau eraill yn dilyn. Os oes gennych ddiddordeb mewn darllen hwn, tanysgrifiwch i hysbysiadau o erthyglau newydd. Gallwch danysgrifio yma neu Telegram-channel Tiwtorial TG ZakharNeu Twitter @mikezaharov.

cyfeiriadau

Cod ar GitHub
Swyddogaethau Cwmwl Yandex
Storio Gwrthrych Yandex
Bots: Cyflwyniad i ddatblygwyr
Telegram Bot API

Rhoddion

Adeiladu bot Telegram yn Yandex.Cloud

Ffynhonnell: hab.com

Ychwanegu sylw