Ngiqale ukucwila emhlabeni we-IT emasontweni amathathu edlule. Eqinisweni, emasontweni amathathu edlule angizange ngiqonde ngisho ne-syntax ye-HTML, futhi isingeniso sami sezilimi zokuhlela saphetha ngekharikhulamu yesikole kuPascal kusukela eminyakeni eyi-10 edlule. Kodwa-ke, nganquma ukuya ekamu le-IT, lapho kungaba kuhle ukuthi izingane zenze i-bot. Nganquma ukuthi kwakungenzima kangako.
Lokhu kwaqala uhambo olude lapho ngi:
- kufakwe iseva yefu no-Ubuntu,
- ibhaliswe ku-GitHub,
- ufunde i-syntax eyisisekelo ye-JavaScript,
- funda inqwaba yezihloko ngesiNgisi nesiRashiya,
- ekugcineni wenze i-bot,
- Ekugcineni ngibhale lesi sihloko.
Umphumela wokugcina ubukeke kanje:
Ngizosho zisuka nje ukuthi lena indatshana yabaqalayo - ukuze nje uqonde indlela yokwenza izinto eziyisisekelo kusukela ekuqaleni.
Futhi futhi - kubahleli bezinhlelo abathuthukile - ukuze bahleke kancane.
1. Ibhalwa kanjani ikhodi ku-JS?
Ngaqonda ukuthi bekufanele okungenani ngiqonde i-syntax yolimi kuqala. Ukukhetha kwawela ku-JavaScript, ngenxa nje yokuthi isinyathelo esilandelayo kimi kwakuwukudala uhlelo lokusebenza ku-ReactNative. Ngaqala nge
2. Indlela yokubhalisa i-bot?
Lokhu kwangisiza kakhulu ekuqaleni
3. Ibukeka kanjani ikhodi ye-bot?
Ngemva kokufunda izindatshana isikhathi eside, ngabona ukuthi kwakufanele ngisebenzise uhlobo oluthile lomtapo wolwazi (ikhodi yomuntu wesithathu ngefomethi yemojuli) ukuze ungakhathazeki ngokufunda i-Telegram API nokudala izingcezu ezinkulu zekhodi kusukela ekuqaleni. Ngilutholile uhlaka
3. Ungayakha kanjani iseva yakho yefu ngama-ruble ayi-100
Ngemva kokucinga okuningi, ngabona ukuthi umyalo we-'npm' osesithombeni esingenhla ubhekisele kulayini womyalo. Umugqa womyalo ukuyo yonke indawo, kodwa ukuze ukwazi ukuwenza, udinga ukufaka i-NodePackageManager. Inkinga ukuthi bengihlela ku-PixelBook nge-ChromeOS. Ngizokweqa lapha ibhulokhi enkulu yokuthi ngafunda kanjani i-Linux - iningi layo ayinalutho futhi ayidingeki. Uma uneWindows noma iMacBook, usunayo ikhonsoli.
Kafushane, ngifake i-Linux nge-Crostini.
Nokho, kule nqubo, ngabona ukuthi ukuze i-bot isebenze njalo (hhayi nje lapho ikhompuyutha yami ivuliwe), ngidinga iseva yefu. Ngikhethile
4. Uyilungiselela kanjani iseva ukusebenzisa i-bot
Ngemva kwalokho, ngabona ukuthi ngidinga ukwenza uhlobo oluthile lwefolda kuseva lapho ngizobeka khona ifayela nombhalo wekhodi. Ukuze wenze lokhu, ku-console (gijima ngqo kuwebhusayithi ngokusebenzisa inkinobho ethi "Vula ikhonsoli"), ngifake
mkdir bot
bot - leli kube igama lefolda yami. Ngemva kwalokho, ngifake i-npm ne-Node.js, ezongivumela ukuthi ngisebenzise ikhodi kumafayela anokulungiswa kwe-*.js
sudo apt update
sudo apt install nodejs
sudo apt install npm
Ngincoma kakhulu ukusetha uxhumano kuseva ngokusebenzisa ikhonsoli yakho kulesi sigaba. Lapha
5. Ibhalwa kanjani ikhodi yebhothi yakho yokuqala.
Kodwa manje kuwukutholakala kimina nje. Noma yiluphi uhlelo luyimigqa yombhalo nje. Angafakwa noma yikuphi, alondolozwe ngesandiso osifunayo, futhi yilokho kuphela. Umuhle. ngisebenzise
Ngenza ifayela elisha, lapho ngifaka khona ikhodi kusuka esibonelweni ekhasini le-telegraf futhi ngaligcina kufayela le-index.js (ngokujwayelekile akudingekile ukubiza ifayela ngaleyo ndlela, kodwa lokhu kuyisiko). Okubalulekile - esikhundleni se-BOT_TOKEN, faka ukhiye wakho we-API kusuka endimeni yesibili.
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. Uyilayisha kanjani ikhodi kuseva nge-github
Manje bengidinga ukuthi ngandlela thize ngilayishe le khodi kuseva futhi ngiyisebenzise. Lokhu kwaba inselele kimi. Ngenxa yalokho, ngemva kobunzima obuningi, ngabona ukuthi kuzoba lula ukudala ifayela ku-github elikuvumela ukuthi ubuyekeze ikhodi usebenzisa umyalo kukhonsoli. Ngibhalise i-akhawunti ku
7. Ungawalayisha kanjani amafayela kuseva nge-github ingxenye yesi-2
Bengidinga ukufaka uhlelo kuseva oluzolanda amafayela ku-git. Ngifake i-git kuseva ngokuthayipha ku-console
apt-get install git
Ngemva kwalokho ngidinga ukulungisa ukulayishwa kwefayela. Ukwenza lokhu, ngithayiphe kulayini womyalo
git clone git://github.com/b0tank/bot.git bot
Ngenxa yalokho, yonke into esuka kuphrojekthi yalayishwa kuseva. Iphutha kulesi sigaba ukuthi ngenze ifolda yesibili ngaphakathi kwefolda ye-bot evele ikhona. Ikheli lefayela lalibukeka njenge */bot/bot/index.js
Nginqume ukuyiziba le nkinga.
Futhi ukulayisha umtapo wezincwadi we-telegraf, esiyicela kulayini wokuqala wekhodi, thayipha umyalo kukhonsoli.
npm install telegraf
8. Ungayethula kanjani i-bot
Ukuze wenze lokhu, ngenkathi ukufolda enefayela (ukusuka kufolda uye kufolda nge-console, sebenzisa umyalo wefomethi cd bot
Ukuqinisekisa ukuthi ukulapho udinga ukuba khona, ungafaka umyalo ozoveza kukhonsoli wonke amafayela namafolda akhona. ls -a
Ukuqala, ngingene ku-console
node index.js
Uma lingekho iphutha, konke kuhamba kahle, i-bot iyasebenza. Mbheke kutelegram. Uma kunephutha, sebenzisa ulwazi lwakho olusuka ephuzwini 1.
9. Ungayisebenzisa kanjani i-bot ngemuva
Ngokushesha uzobona ukuthi i-bot isebenza kuphela lapho wena uhlezi kukhonsoli. Ukuxazulula le nkinga ngisebenzise umyalo
screen
Ngemva kwalokhu, kuzovela isikrini esinombhalo othile. Lokhu kusho ukuthi konke kuhamba kahle. Ukuseva ebonakalayo kuseva yefu. Ukuze uqonde kangcono ukuthi konke kusebenza kanjani -
node index.js
10. Isebenza kanjani i-bot nendlela yokwandisa ukusebenza kwayo
Yini i-bot yethu yesibonelo esingayenza? Angakwazi
bot.start((ctx) => ctx.reply('Welcome!'))
ithi "Siyakwamukela!" ngesikhathi sokuqala (zama ukushintsha umbhalo)
bot.help((ctx) => ctx.reply('Send me a sticker'))
ngokuphendula umyalo ojwayelekile/wosizo, thumela umyalezo othi βNgithumele isitikhaβ
bot.on('sticker', (ctx) => ctx.reply(''))
thumela imvume ngokuphendula isitika
bot.hears('hi', (ctx) => ctx.reply('Hey there'))
phendula ngokuthi βHey thereβ uma bebhala ukuthi βhiβ kuye
i-bot.launch()
Uma ubheka ikhodi ku ctx.replyWithPhoto
Ikuvumela ukuthi uthumele isithombe esicacisiwe noma i-gif ngokuphendula umbhalo othile.
Ingxenye ebalulekile yekhodi yabhalwa izingane ezineminyaka engu-11-13, engizinikeze ukufinyelela ku-bot. Bafake i-user-case yabo. Ngicabanga ukuthi kulula ukusho ukuthi iyiphi ingxenye eyenziwe yibona.
Isibonelo, umlayezo othi "Jake" uzothola i-GIF enomlingisi odumile ovela ku-Cartoon Adventure Time.
Ukuze uthuthukise i-bot ngokuqhubekayo, udinga ukuxhuma ikhibhodi, bheka izibonelo, isibonelo,
11. Ungabuyekeza kanjani ikhodi bese uqala kabusha i-bot
Ungakhohlwa ukuthi udinga ukuvuselela ikhodi hhayi kuphela ku-github, kodwa nakuseva. Lokhu kulula ukukwenza - misa i-bot (cindezela u-ctrl+c),
- ngena kukhonsoli ngenkathi ukufolda eqondiwe, git pull
- sethula i-bot futhi ngomyalo node index.js
Ukuphela
Izinto eziningi ezichazwe kuleli fayela zizoba sobala kakhulu kubahleli bezinhlelo abathuthukile. Kodwa-ke, lapho mina ngokwami ββngizama ukugxumela phezu komgodi ngiye emhlabeni wama-bots ngokuzumayo okukodwa, ngaphuthelwa ngempela umhlahlandlela onjalo. Umhlahlandlela ongaphuthelwa yizinto ezisobala nezilula kunoma yimuphi uchwepheshe we-IT.
Ngokuzayo, ngihlela okuthunyelwe mayelana nendlela yokwenza isicelo sakho sokuqala ku-ReactNative ngesitayela esifanayo, bhalisa!
Source: www.habr.com