É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:
É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ð
2. Hvernig á að skrá láni?
Þetta hjálpaði mér mikið í byrjun
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
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
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
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
É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 á
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 -
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()
Ef þú skoðar kóðann á 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.
Til að þróa botninn frekar þarftu að tengja lyklaborð, skoða dæmi, til dæmis,
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