Leiðbeiningar: hvernig á að búa til einfaldan Telegram láni í JS fyrir byrjendur í forritun

Ég byrjaði að sökkva mér inn í heim upplýsingatækninnar fyrir aðeins þremur vikum. Í alvöru, fyrir þremur vikum skildi ég ekki einu sinni HTML setningafræði og kynning mín á forritunarmálum endaði með skólanámskrá um Pascal frá því fyrir 10 árum síðan. Ég ákvað hins vegar að fara í upplýsingatæknibúðir, þar sem gott væri fyrir börnin að búa til bot. Ég ákvað að það væri varla svo erfitt.

Þetta hófst langt ferðalag þar sem ég:

  • setti upp skýjaþjón með Ubuntu,
  • skráð á GitHub,
  • lært grunn JavaScript setningafræði,
  • lestu fullt af greinum á ensku og rússnesku,
  • gerði loksins vélmenni,
  • Ég skrifaði loksins þessa grein.

Lokaniðurstaðan leit einhvern veginn svona út:

Leiðbeiningar: hvernig á að búa til einfaldan Telegram láni í JS fyrir byrjendur í forritun

Ég segi strax að þetta er grein fyrir byrjendur - bara til að skilja hvernig á að gera grunnatriði frá grunni.

Og líka - fyrir lengra komna forritara - bara til að fá þá til að hlæja aðeins.

1. Hvernig á að skrifa kóða í JS?

Ég skildi að það væri þess virði að skilja að minnsta kosti setningafræði tungumálsins fyrst. Valið féll á JavaScript, einfaldlega vegna þess að næsta skref fyrir mig var að búa til forrit í ReactNative. Ég byrjaði með námskeið á Codecademy og var mjög ánægður. Fyrstu 7 dagarnir eru ókeypis. Raunveruleg verkefni. Ég mæli með. Að klára það tók um 25 klukkustundir. Reyndar var það ekki allt gagnlegt. Svona lítur uppbygging námskeiðsins út og fyrsta blokkin í smáatriðum.

Leiðbeiningar: hvernig á að búa til einfaldan Telegram láni í JS fyrir byrjendur í forritun

2. Hvernig á að skrá láni?

Þetta hjálpaði mér mikið í byrjun Þessi grein af bloggi Archakovs tiltekins. Hann tyggur strax í byrjun. En aðalatriðið sem er þarna eru leiðbeiningar um að skrá láni. Ég get ekki skrifað betur, og þar sem þetta er auðveldasta hlutinn, skrifa ég bara kjarnann. Þú þarft að búa til vélmenni og fá API þess. Þetta er gert í gegnum annan bot - @BotFather. Finndu hann á símskeyti, skrifaðu honum, fylgdu einföldu leiðinni og fáðu (vistaðu!) API lykil (þetta er sett af tölustöfum og bókstöfum). Það kom sér vel síðar.

Leiðbeiningar: hvernig á að búa til einfaldan Telegram láni í JS fyrir byrjendur í forritun

3. Hvernig lítur botakóðinn út?

Eftir að hafa kynnt mér greinarnar í langan tíma áttaði ég mig á því að það væri þess virði að nota einhvers konar bókasafn (þriðju aðila kóða á mátformi) til að þurfa ekki að hafa áhyggjur af því að kynna mér Telegram API og búa til stóra kóðabúta frá grunni. Ég fann rammann telegraf, sem þurfti einhvern veginn að tengjast einhverju með því að nota npm eða garn. Þetta er nokkurn veginn hvernig ég skildi þá hvað dreifing á botni fólst í. Hlæja hérna. Ég mun ekki móðgast. Dæmin neðst á síðunni hjálpuðu mér mest við síðari gerð botnsins:

Leiðbeiningar: hvernig á að búa til einfaldan Telegram láni í JS fyrir byrjendur í forritun

3. Hvernig á að búa til þinn eigin skýjaþjón fyrir 100 rúblur

Eftir mikla leit áttaði ég mig á því að 'npm' skipunin á myndinni hér að ofan vísar til skipanalínunnar. Skipanalínan er alls staðar en til að geta keyrt hana þarftu að setja upp NodePackageManager. Vandamálið var að ég var að forrita á PixelBook með ChromeOS. Ég mun sleppa hér stórum blokk um hvernig ég lærði Linux - fyrir flesta er það tómt og óþarft. Ef þú ert með Windows eða MacBook ertu nú þegar með leikjatölvu.

Í hnotskurn setti ég upp Linux í gegnum Crostini.

Hins vegar, í því ferli, áttaði ég mig á því að til að vélmenni virki stöðugt (og ekki bara þegar kveikt er á tölvunni minni), þá þarf ég skýjaþjón. ég valdi vscale.io Ég eyddi 100 rúblum og keypti ódýrasta Ubuntu netþjóninn (sjá mynd).

Leiðbeiningar: hvernig á að búa til einfaldan Telegram láni í JS fyrir byrjendur í forritun

4. Hvernig á að undirbúa netþjón til að keyra vélmenni

Eftir það áttaði ég mig á því að ég þyrfti að búa til einhvers konar möppu á þjóninum sem ég myndi setja skrána með kóðatextanum í. Til að gera þetta, í stjórnborðinu (keyrðu beint á vefsíðunni í gegnum hnappinn „Opna stjórnborð“), fór ég inn

mkdir bot

bot - þetta varð nafnið á möppunni minni. Eftir það setti ég upp npm og Node.js, sem gerir mér kleift að keyra kóða úr skrám með *.js upplausn

sudo apt update
sudo apt install nodejs
sudo apt install npm

Ég mæli eindregið með því að setja upp tengingu við netþjóninn í gegnum stjórnborðið þitt á þessu stigi. Hérna kennsla Þetta gerir þér kleift að vinna með þjóninum beint í gegnum stjórnborðið á tölvunni þinni.

5. Hvernig á að skrifa kóðann fyrir fyrsta lánardrottinn þinn.

En núna er þetta bara uppgötvun fyrir mig. Hvaða forrit sem er er bara línur af texta. Hægt er að setja þau inn hvar sem er, vista með æskilegri framlengingu, og það er það. Þú ert falleg. ég notaði Atom, en raunhæft, þú getur bara skrifað í venjulegu skrifblokk. Aðalatriðið er að vista skrána seinna í þeirri viðbót sem óskað er eftir. Þetta er eins og að skrifa texta í Word og vista hann.

Ég bjó til nýja skrá, sem ég setti kóðann úr dæminu á telegraf síðunni inn í og ​​vistaði í index.js skránni (almennt er ekki nauðsynlegt að nefna skrána þannig, en þetta er venjan). Mikilvægt - í stað BOT_TOKEN skaltu setja inn API lykilinn þinn úr annarri málsgrein.

const Telegraf = require('telegraf')

const bot = new Telegraf(process.env.BOT_TOKEN)
bot.start((ctx) => ctx.reply('Welcome!'))
bot.help((ctx) => ctx.reply('Send me a sticker'))
bot.on('sticker', (ctx) => ctx.reply(''))
bot.hears('hi', (ctx) => ctx.reply('Hey there'))
bot.launch()

6. Hvernig á að hlaða upp kóða á netþjóninn í gegnum github

Nú þurfti ég einhvern veginn að hlaða þessum kóða inn á netþjóninn og keyra hann. Þetta varð áskorun fyrir mig. Fyrir vikið, eftir miklar þrautir, áttaði ég mig á því að það væri auðveldara að búa til skrá á github sem gerir þér kleift að uppfæra kóðann með skipun í stjórnborðinu. Ég skráði reikning á GitHub og gerði nýtt verkefni, þar sem ég hlóð skránni upp. Eftir það þurfti ég að finna út hvernig ég ætti að setja upp að hlaða upp skrám af reikningnum mínum (opinn!) á netþjóninn í bot möppunni (ef þú fórst allt í einu, skrifaðu bara cd bot).

7. Hvernig á að hlaða upp skrám á netþjóninn í gegnum github part 2

Ég þurfti að setja upp forrit á þjóninum sem myndi hlaða niður skrám frá git. Ég setti upp git á þjóninum með því að slá inn í vélinni

apt-get install git

Eftir það þurfti ég að stilla skráarhleðsluna. Til að gera þetta skrifaði ég inn í skipanalínuna

git clone git://github.com/b0tank/bot.git bot

Þess vegna var allt frá verkefninu hlaðið upp á netþjóninn. Mistökin á þessu stigi voru þau að ég gerði í rauninni aðra möppu inni í botnamöppunni sem þegar var til. Heimilisfangið á skrána leit út eins og */bot/bot/index.js

Ég ákvað að hunsa þetta vandamál.

Og til að hlaða telegraf bókasafninu, sem við biðjum um í fyrstu línu kóða, sláðu inn skipunina inn í stjórnborðið.

npm install telegraf

8. Hvernig á að ræsa vélmenni

Til að gera þetta, á meðan þú ert í möppunni með skránni (til að fara úr möppu til möppu í gegnum stjórnborðið skaltu keyra format skipunina cd bot Til að vera viss um að þú sért þar sem þú þarft að vera geturðu slegið inn skipun sem mun birta í stjórnborðinu allar skrár og möppur sem eru þar ls -a

Til að byrja, fór ég inn í stjórnborðið

node index.js

Ef það er engin villa er allt í lagi, botninn virkar. Leitaðu að honum í símskeyti. Ef það er villa, notaðu þekkingu þína frá 1. lið.

9. Hvernig á að keyra vélmenni í bakgrunni

Nokkuð fljótt muntu átta þig á því að botninn virkar aðeins þegar þú sjálfur situr í stjórnborðinu. Til að leysa þetta vandamál notaði ég skipunina

screen

Eftir þetta birtist skjár með einhverjum texta. Þetta þýðir að allt er í lagi. Þú ert á sýndarþjóni á skýjaþjóni. Til að skilja betur hvernig þetta virkar allt saman - hér er greinin. Farðu bara í möppuna þína og sláðu inn skipunina til að ræsa botann

node index.js

10. Hvernig vélmenni virkar og hvernig á að auka virkni hans

Hvað getur fordæmisbotninn okkar gert? Hann getur

bot.start((ctx) => ctx.reply('Welcome!'))

segðu "Velkominn!" við upphaf (reyndu að breyta textanum)

bot.help((ctx) => ctx.reply('Send me a sticker'))

sem svar við stöðluðu /hjálp skipuninni, sendu skilaboðin „Sendu mér límmiða“

bot.on('sticker', (ctx) => ctx.reply(''))

senda samþykki sem svar við límmiða

bot.hears('hi', (ctx) => ctx.reply('Hey there'))

svaraðu „Hæ“ ef þeir skrifa „hæ“ til hans
bot.launch()

Leiðbeiningar: hvernig á að búa til einfaldan Telegram láni í JS fyrir byrjendur í forritun

Ef þú skoðar kóðann á GitHub, þá muntu fljótt skilja að ég hef ekki farið mjög langt frá þessari virkni. Það sem er virkt notað er aðgerðin ctx.replyWithPhoto Það gerir þér kleift að senda tiltekna mynd eða GIF sem svar við tilteknum texta.

Mikill hluti kóðans var skrifaður af börnum á aldrinum 11-13 ára, sem ég gaf aðgang að botninum. Þeir komu inn í notandamálið sitt. Ég held að það sé auðvelt að segja hvaða hluti var gerður af þeim.

Til dæmis munu skilaboðin „Jake“ fá GIF með frægri persónu úr teiknimyndinni Adventure Time.

Leiðbeiningar: hvernig á að búa til einfaldan Telegram láni í JS fyrir byrjendur í forritun

Til að þróa botninn frekar þarftu að tengja lyklaborð, skoða dæmi, til dæmis, þess vegna

11. Hvernig á að uppfæra kóðann og endurræsa vélmenni

Ekki gleyma því að þú þarft að uppfæra kóðann ekki aðeins á github, heldur einnig á þjóninum. Þetta er auðvelt að gera - stöðva vélmennið (ýttu á ctrl+c),

- sláðu inn í stjórnborðið á meðan þú ert í markmöppunni, git pull
— við ræsum botann aftur með skipuninni node index.js

END

Margt af því sem lýst er í þessari skrá mun vera mjög augljóst fyrir háþróaða forritara. Hins vegar, þegar ég sjálfur reyndi að stökkva yfir gjána í heim bottanna í einni svipan, saknaði ég virkilega slíkrar leiðsögumanns. Leiðbeiningar sem missir ekki af hlutum sem eru augljósir og einfaldir fyrir hvaða upplýsingatæknisérfræðing sem er.

Í framtíðinni er ég að skipuleggja færslu um hvernig á að gera fyrstu umsókn þína á ReactNative í sama stíl, gerast áskrifandi!

Heimild: www.habr.com

Bæta við athugasemd