Heddiw, o ddeunyddiau byrfyfyr, byddwn yn casglu i mewn 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:
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
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.
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.
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.
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.
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.
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.
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
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.
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.
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:
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.
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.
Ar ôl hynny, efallai y bydd rhestr o'r holl fwcedi yn edrych yn debyg i hyn (os mai dyma'ch unig fwced):
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.
Nawr gallwch chi glicio ar enw'r ffolder, mynd i mewn iddo a llwytho ffeiliau i fyny:
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).
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:
Profi. Dylid ei adlewyrchu.
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
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.
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.
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!
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
cyfeiriadau
Rhoddion
Ffynhonnell: hab.com