Tataiso: mokhoa oa ho etsa bot e bonolo ea Telegraph ho JS bakeng sa motho ea qalang lenaneong

Ke qalile ho ikakhela ka setotsoana lefatšeng la IT libeke tse tharo tse fetileng. Ka botebo, libeke tse tharo tse fetileng ke ne ke sa utloisise le syntax ea HTML, 'me kenyelletso ea ka ea lipuo tsa lenaneo e ile ea fela ka thuto ea sekolo ho Pascal ho tloha lilemong tse 10 tse fetileng. Leha ho le joalo, ke ile ka etsa qeto ea ho ea kampong ea IT, moo ho ka bang monate hore bana ba etse bot. Ke ile ka etsa qeto ea hore ha ho thata hakaalo.

Sena se ile sa qala leeto le lelelele leo ho lona ke:

  • e kentse seva sa leru le Ubuntu,
  • e ngolisitsoe ho GitHub,
  • o ithutile syntax ea mantlha ea JavaScript,
  • bala lingoliloeng tse ngata ka Senyesemane le Serussia,
  • qetellong o entse bot,
  • Qetellong ke ile ka ngola sehlooho sena.

Sephetho sa ho qetela se ne se shebahala tjena:

Tataiso: mokhoa oa ho etsa bot e bonolo ea Telegraph ho JS bakeng sa motho ea qalang lenaneong

Ke tla re hang-hang sena ke sengoloa sa ba qalang - ho utloisisa feela mokhoa oa ho etsa lintho tsa mantlha ho tloha qalong.

Hape - bakeng sa baetsi ba mananeo a tsoetseng pele - ho etsa hore ba tšehe hanyenyane.

1. Joang ho ngola khoutu ka JS?

Ke ile ka utloisisa hore bonyane ke habohlokoa ho utloisisa syntax ea puo pele. Khetho e ile ea oela ho JavaScript, hobane feela mohato o latelang ho 'na e ne e le ho theha kopo ho ReactNative. Ke qalile ka nete hore ho Codecademy mme o ne a thabile haholo. Matsatsi a pele a 7 ke mahala. Merero ea sebele. Ke khothaletsa. Ho e qeta ho ile ha nka lihora tse ka bang 25. Ha e le hantle, hase kaofela ha eona e neng e le molemo. Sena ke seo sebopeho sa thupelo se shebahalang ka sona le boloko ba pele ka botlalo.

Tataiso: mokhoa oa ho etsa bot e bonolo ea Telegraph ho JS bakeng sa motho ea qalang lenaneong

2. Joang ho ngolisa bot?

Sena se ile sa nthusa haholo qalong sengoloa sena ho tsoa ho blog ea Archakov e itseng. O hlafuna qalong. Empa ntho e ka sehloohong e teng ho na le litaelo tsa ho ngolisa bot. Ha ke khone ho e ngola hantle, 'me kaha ena ke karolo e bonolo ka ho fetisisa, ke tla ngola lintlha. U hloka ho theha bot mme u fumane API ea eona. Sena se etsoa ka bot e 'ngoe - @BotFather. Mo fumane ka thelekramo, mo ngolle, latela tsela e bonolo 'me u fumane (boloka!) Senotlolo sa API (ena ke sehlopha sa linomoro le litlhaku). E ile ea sebetsa hamorao.

Tataiso: mokhoa oa ho etsa bot e bonolo ea Telegraph ho JS bakeng sa motho ea qalang lenaneong

3. Khoutu ea bot e shebahala joang?

Ka mor'a ho ithuta lihlooho ka nako e telele, ke ile ka hlokomela hore ho bohlokoa ho sebelisa mofuta o mong oa laebrari (khoutu ea motho oa boraro ka mokhoa oa module) e le hore u se ke ua tšoenyeha ka ho ithuta Telegram API le ho theha likarolo tse kholo tsa khoutu ho tloha qalong. Ke fumane moralo telegraf, e neng e hloka ho hokahana ka tsela e itseng le ntho e itseng e sebelisang npm kapa khoele. Ena ke tsela eo ke neng ke utloisisa ka eona hore na ho tsamaisoa ha bot ho ne ho kenyelletsa eng. Seha mona. nke ke ka khopeha. Mehlala e botlaaseng ba leqephe e nthusitse haholo nakong ea tlhahiso e latelang ea bot:

Tataiso: mokhoa oa ho etsa bot e bonolo ea Telegraph ho JS bakeng sa motho ea qalang lenaneong

3. Mokhoa oa ho iketsetsa seva sa hau sa leru bakeng sa li-ruble tse 100

Kamora ho batlisisa haholo, ke ile ka hlokomela hore taelo ea 'npm' e setšoantšong se kaholimo e bua ka mola oa taelo. Mohala oa taelo o hohle, empa hore o tsebe ho o etsa, o hloka ho kenya NodePackageManager. Bothata e ne e le hore ke ne ke etsa lenaneo ho PixelBook e nang le ChromeOS. Ke tla tlola mona sebaka se seholo mabapi le hore na ke ithutile Linux joang - boholo ba eona ha e na letho ebile ha e hlokahale. Haeba u na le Windows kapa MacBook, u se u ntse u e-na le console.

Ka bokhutšoanyane, ke kentse Linux ka Crostini.

Leha ho le joalo, ts'ebetsong, ke ile ka hlokomela hore hore bot e sebetse kamehla (eseng feela ha khomphuta ea ka e le teng), ke hloka seva sa leru. ke khethile vscale.io Ke sebelisitse li-ruble tse 100 mme ka reka seva sa Ubuntu se theko e tlaase (bona setšoantšo).

Tataiso: mokhoa oa ho etsa bot e bonolo ea Telegraph ho JS bakeng sa motho ea qalang lenaneong

4. Mokhoa oa ho lokisa seva ho tsamaisa bot

Ka mor'a moo, ke ile ka hlokomela hore ke hloka ho etsa mofuta o itseng oa foldara ho seva moo ke neng ke tla beha faele ka mongolo oa khoutu. Ho etsa sena, ho console (tsamaea ka ho toba sebakeng sa marang-rang ka konopo ea "Open console"), ke kene

mkdir bot

bot - lena e bile lebitso la foldara ea ka. Ka mor'a moo, ke kentse npm le Node.js, e tla ntumella ho sebelisa khoutu ho tsoa lifaeleng tse nang le * .js resolution

sudo apt update
sudo apt install nodejs
sudo apt install npm

Ke khothaletsa haholo ho theha khokahano ho seva ka console ea hau sethaleng sena. Mona buka Sena se tla u lumella ho sebetsa le seva ka kotloloho ka khomphutha ea komporo ea hau.

5. Mokhoa oa ho ngola khoutu bakeng sa bot ea hau ea pele.

Empa joale ke tšibollo feela ho nna. Lenaneo lefe kapa lefe ke mela ea mongolo feela. Li ka kenngoa kae kapa kae, li bolokiloe ka katoloso e lakatsehang, 'me ke phetho. U motle. Ke sebelisitse Atom, empa ha e le hantle, u ka ngola feela bukeng e tloaelehileng. Ntho ea bohlokoa ke ho boloka faele hamorao ka katoloso e lakatsehang. Ho tšoana le ho ngola mongolo ka Lentsoe le ho le boloka.

Ke entse faele e ncha, eo ho eona ke kentseng khoutu e tsoang ho mohlala leqepheng la telegraf mme ke e boloka ho index.js file (ka kakaretso ha ho hlokahale ho reha faele ka tsela eo, empa sena ke tloaelo). Bohlokoa - sebakeng sa BOT_TOKEN, kenya senotlolo sa hau sa API ho tsoa serapeng sa bobeli.

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. Mokhoa oa ho kenya khoutu ho seva ka github

Joale ke ne ke hloka ho kenya khoutu ena ho seva ebe ke e tsamaisa. Sena e ile ea e-ba phephetso ho ’na. Ka lebaka leo, ka mor'a mathata a mangata, ke ile ka hlokomela hore ho tla ba bonolo ho etsa faele ho github e lumellang hore u ntlafatse khoutu u sebelisa taelo ho console. Ke ngolisitse akhaonto ka github mme a etsa morero o mocha, moo ke kentseng faele. Ka mor'a moo, ke ne ke hloka ho tseba mokhoa oa ho theha ho kenya lifaele ho tloha akhaonteng ea ka (e bulehileng!) ho seva ka fensetereng ea bot (haeba ue tlohetse ka tšohanyetso, ngola feela cd bot).

7. Mokhoa oa ho kenya lifaele ho seva ka github karolo ea 2

Ke ne ke hloka ho kenya lenaneo ho seva le tla khoasolla lifaele ho tsoa ho git. Ke kentse git ho seva ka ho thaepa ka har'a console

apt-get install git

Ka mor'a moo ke ne ke hloka ho lokisa file upload. Ho etsa sena, ke thaepa moleng oa taelo

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

Ka lebaka leo, ntho e 'ngoe le e' ngoe e tsoang morerong e ile ea kenngoa ho seva. Phoso mothating ona ke hore ke entse foldara ea bobeli ka har'a foldara e seng e ntse e le teng ea bot. Aterese ea faele e ne e shebahala joalo ka */bot/bot/index.js

Ke ile ka etsa qeto ea ho hlokomoloha bothata bona.

Le ho kenya laebrari ea telegraf, eo re e kopang moleng oa pele oa khoutu, thaepa taelo ka har'a console.

npm install telegraf

8. Mokhoa oa ho qala bot

Ho etsa sena, ha u ntse u le foldareng e nang le faele (ho tloha foldareng ho ea ho foldara ka console, tsamaisa taelo ea sebopeho cd bot Ho etsa bonnete ba hore o moo o hlokang ho ba teng, o ka kenya taelo e tla bonts'a khomphutha lifaele tsohle le lifoldara tse teng. ls -a

Ho qala, ke ile ka kena ka har'a console

node index.js

Haeba ho se na phoso, ntho e 'ngoe le e' ngoe e lokile, bot e sebetsa. Mo batle ho thelekramo. Haeba ho na le phoso, sebelisa tsebo ea hau ho tloha ntlheng ea 1.

9. Mokhoa oa ho tsamaisa bot ka morao

Ka potlako u tla hlokomela hore bot e sebetsa feela ha u lutse ka har'a console. Ho rarolla bothata bona ke sebelisitse taelo

screen

Ka mor'a sena, skrine e nang le mongolo o itseng e tla hlaha. Sena se bolela hore tsohle li lokile. O ho seva sa marang-rang ho seva sa leru. Ho utloisisa hamolemo hore na tsohle li sebetsa joang - sengoloa ke sena. E-ea feela foldareng ea hau ebe u kenya taelo ea ho qala bot

node index.js

10. Bot e sebetsa joang le mokhoa oa ho atolosa ts'ebetso ea eona

Mohlala oa rona oa bot o ka etsa eng? A ka khona

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

e re "Rea u amohela!" nakong ea ho qala (leka ho fetola mongolo)

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

ho arabela taelo e tloaelehileng / thuso, romella molaetsa "Nthumele setikara"

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

romella tumello ho latela setikara

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

araba ka "Hey there" haeba ba ngola "hi" ho eena
bot.launch()

Tataiso: mokhoa oa ho etsa bot e bonolo ea Telegraph ho JS bakeng sa motho ea qalang lenaneong

Haeba u sheba khoutu ho github, joale u tla utloisisa ka potlako hore ha kea tloha hole le ts'ebetso ena. Se sebelisoang ka mafolofolo ke mosebetsi ctx.replyWithPhoto E u lumella ho romella foto kapa gif e boletsoeng ho latela mongolo o itseng.

Karolo ea bohlokoa ea khoutu e ngotsoe ke bana ba lilemo li 11-13, bao ke ba fileng monyetla oa ho fumana bot. Ba kentse li-user-case tsa bona. Ke nahana hore ho bonolo ho bolela hore na ke karolo efe e entsoeng ke bona.

Ka mohlala, molaetsa "Jake" o tla fumana GIF e nang le motho ea tummeng ho tsoa ho Cartoon Adventure Time.

Tataiso: mokhoa oa ho etsa bot e bonolo ea Telegraph ho JS bakeng sa motho ea qalang lenaneong

Ho ntšetsa pele bot ho ea pele, o hloka ho hokela keyboard, bona mehlala, mohlala, ho tloha mona

11. Mokhoa oa ho nchafatsa khoutu le ho qala bot bocha

U se ke ua lebala hore o hloka ho ntlafatsa khoutu eseng feela ho github, empa le ho seva. Ho bonolo ho etsa sena - emisa bot (tobetsa ctrl+c),

- kena ka har'a khomphutha ha u ntse u le foldareng eo u e batlang, git pull
- re qala bot hape ka taelo node index.js

QETA

Lintho tse ngata tse hlalositsoeng faeleng ena li tla totobala haholo ho baetsi ba mananeo a tsoetseng pele. Leha ho le joalo, ha 'na ka bonna ke leka ho tlola sekoti ho ea lefats'eng la bots hang-hang, ke ile ka hloloheloa tataiso e joalo. Tataiso e sa fetoeng lintho tse hlakileng le tse bonolo ho setsebi leha e le sefe sa IT.

Nakong e tlang, ke rera poso mabapi le mokhoa oa ho etsa kopo ea hau ea pele ho ReactNative ka mokhoa o ts'oanang, ingolise!

Source: www.habr.com

Eketsa ka tlhaloso