Ndiqale ukuntywila kwihlabathi le-IT kuphela kwiiveki ezintathu ezidlulileyo. Ngokukrakra, kwiiveki ezintathu ezidlulileyo andizange ndiyiqonde i-syntax ye-HTML, kwaye intshayelelo yam kwiilwimi zeprogram yaphela ngekharityhulam yesikolo ePascal kwiminyaka eyi-10 eyadlulayo. Nangona kunjalo, ndagqiba ekubeni ndiye kwinkampu ye-IT, apho kuya kuba kuhle ukuba abantwana benze i-bot. Ndagqiba kwelokuba akunzima kangako.
Oku kwaqala uhambo olude apho:
- ithumele iseva yelifu kunye no-Ubuntu,
- ibhaliswe kwi-GitHub,
- ufunde iSintaksi yeJavaScript esisiseko,
- funda itoni yamanqaku ngesiNgesi nesiRashiya,
- ekugqibeleni wenze i-bot,
- Ekugqibeleni ndabhala eli nqaku.
Isiphumo sokugqibela sijonge ngolu hlobo:
Ndiza kuthetha kwangoko ukuba eli linqaku labaqalayo - ukuqonda nje indlela yokwenza izinto ezisisiseko ukusuka ekuqaleni.
Kwaye kwakhona - kubadwelisi benkqubo abaphambili - ukubenza bahleke kancinci.
1. Ibhalwa njani ikhowudi kwi-JS?
Ndaqonda ukuba kufanelekile ukuqonda i-syntax yolwimi kuqala. Ukhetho lwawela kwiJavaScript, kuba inyathelo elilandelayo kum yayikukudala isicelo kwiReactNative. Ndaqala nge
2. Indlela yokubhalisa ibhot?
Oku kwandinceda kakhulu ekuqaleni
3. Ijongeka njani ikhowudi yebhot?
Emva kokufunda amanqaku ixesha elide, ndaqonda ukuba kufanelekile ukusebenzisa uhlobo oluthile lwethala leencwadi (ikhowudi yomntu wesithathu kwifomathi yemodyuli) ukuze ungakhathazeki ngokufunda iTelegram API kunye nokudala ikhowudi enkulu ukusuka ekuqaleni. Ndifumene isakhelo
3. Indlela yokwenza iseva yakho yefu kwi-ruble ye-100
Emva kokukhangela okuninzi, ndiye ndaqonda ukuba umyalelo othi 'npm' kumfanekiso ongasentla ubhekisa kumgca womyalelo. Umgca womyalelo ukuyo yonke indawo, kodwa ukuze ukwazi ukuyenza, kufuneka ufake iNodePackageManager. Ingxaki yayikukuba bendicwangcisa kwiPixelBook eneChromeOS. Ndiza kutsiba apha ibhloko enkulu malunga nendlela endiyifunde ngayo iLinux - kuninzi ayinanto kwaye ayiyomfuneko. Ukuba uneWindows okanye iMacBook, sele unayo ikhonsoli.
Ngamafutshane, ndifake iLinux ngeCrostini.
Nangona kunjalo, kwinkqubo, ndaqonda ukuba ukuze i-bot isebenze rhoqo (kwaye kungekhona nje xa ikhomputha yam ivuliwe), ndifuna iseva yefu. Ndiyakhetha
4. Uyilungisa njani iseva ukuba iqhube ibhot
Emva koko, ndaqonda ukuba kufuneka ndenze uhlobo oluthile lwefolda kwiseva apho ndiza kubeka ifayile kunye nombhalo wekhowudi. Ukwenza oku, kwi-console (qhuba ngokuthe ngqo kwiwebhusayithi ngokusebenzisa iqhosha elithi "Vula i-console"), ndangena
mkdir bot
bot - eli ibe ligama lefolda yam. Emva koko, ndifake i-npm kunye ne-Node.js, eya kundivumela ukuba ndiqhube ikhowudi kwiifayile ezinesisombululo se *.js
sudo apt update
sudo apt install nodejs
sudo apt install npm
Ndincoma kakhulu ukuseta uqhagamshelo kwiseva ngokusebenzisa ikhonsoli yakho kweli nqanaba. Apha
5. Uyibhala njani ikhowudi yebhot yakho yokuqala.
Kodwa ngoku kukufunyanwa nje kum. Nayiphi na inkqubo yimigca nje yokubhaliweyo. Ziyakwazi ukufakwa naphi na, zigcinwe kunye nolwandiso olufunwayo, kwaye yiloo nto. Umhle. ndidla ngoku
Ndenze ifayile entsha, apho ndifake khona ikhowudi kumzekelo kwiphepha le-telegraf kwaye ndiyigcine kwifayile ye-index.js (ngokubanzi akuyimfuneko ukubiza ifayile ngaloo ndlela, kodwa oku kungokwesiko). Kubalulekile - endaweni yeBOT_TOKEN, faka isitshixo sakho seAPI ukusuka kumhlathi wesibini.
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. Indlela yokulayisha ikhowudi kumncedisi nge-github
Ngoku bendifuna ngandlela thile ndilayishe le khowudi kwiseva kwaye ndiyiqhube. Oku kwaba lucelomngeni kum. Ngenxa yoko, emva kobunzima obukhulu, ndaqonda ukuba kuya kuba lula ukwenza ifayile kwi-github evumela ukuba uhlaziye ikhowudi usebenzisa umyalelo kwi-console. Ndibhalise i-akhawunti kwi
7. Indlela yokulayisha iifayile kwiseva nge-github inxalenye yesi-2
Bendifuna ukufaka inkqubo kwiseva enokukhuphela iifayile kwi-git. Ndifake i-git kumncedisi ngokuchwetheza kwi-console
apt-get install git
Emva koko kufuneka ndilungiselele ukufakwa kwefayile. Ukwenza oku, ndichwetheze kumgca womyalelo
git clone git://github.com/b0tank/bot.git bot
Ngenxa yoko, yonke into esuka kwiprojekthi ilayishwe kwiseva. Impazamo kweli nqanaba yayikukuba ndenze ifolda yesibini ngaphakathi kwifolda esele ikhona ye-bot. Idilesi kwifayile ijongeka ngathi */bot/bot/index.js
Ndagqiba ekubeni ndingayihoyi le ngxaki.
Kwaye ukulayisha ilayibrari ye-telegraf, esiyicelayo kumgca wokuqala wekhowudi, chwetheza umyalelo kwi-console.
npm install telegraf
8. Uyiqalisa njani ibhot
Ukwenza oku, ngelixa kwifolda enefayile (ukusuka kwifolda ukuya kwifolda nge-console, sebenzisa umyalelo wefomathi cd bot
Ukuqinisekisa ukuba ulapho kufuneka ube khona, ungangenisa umyalelo oza kubonisa kwiconsole zonke iifayile kunye neefolda ezilapho. ls -a
Ukuqala, ndangena kwi-console
node index.js
Ukuba akukho mpazamo, yonke into ilungile, i-bot isebenza. Mkhangele kwitelegram. Ukuba kukho impazamo, sebenzisa ulwazi lwakho olusuka kwindawo yoku-1.
9. Uyiqhuba njani ibhot ngasemva
Ngokukhawuleza uya kuqonda ukuba i-bot isebenza kuphela xa uhleli kwi-console. Ukusombulula le ngxaki ndisebenzise umyalelo
screen
Emva koku, isikrini esinombhalo othile siya kuvela. Oku kuthetha ukuba yonke into ilungile. Ukwiseva yenyani kumncedisi welifu. Ukuqonda ngcono indlela esebenza ngayo yonke into -
node index.js
10. Indlela i-bot isebenza ngayo kunye nendlela yokwandisa ukusebenza kwayo
Umzekelo wethu unokwenza ntoni? Anga
bot.start((ctx) => ctx.reply('Welcome!'))
yithi "Wamkelekile!" ekuqaleni (zama ukutshintsha okubhaliweyo)
bot.help((ctx) => ctx.reply('Send me a sticker'))
ekuphenduleni umgangatho / umyalelo woncedo, thumela umyalezo "Ndithumele isincamathelisi"
bot.on('sticker', (ctx) => ctx.reply(''))
Thumela imvume kwimpendulo kwisincamathelisi
bot.hears('hi', (ctx) => ctx.reply('Hey there'))
phendula ngokuthi βHey thereβ ukuba babhala βhiβ kuye
I-bot.launch()
Ukuba ujonga ikhowudi kwi ctx.replyWithPhoto
Ikuvumela ukuba uthumele ifoto echaziweyo okanye i-gif kwimpendulo kumbhalo othile.
Inxalenye ebalulekileyo yekhowudi yabhalwa ngabantwana abaneminyaka eyi-11-13, endinike ukufikelela kwi-bot. Bafake i-user-case yabo. Ndicinga ukuba kulula ukuxelela ukuba yeyiphi inxalenye eyenziwe ngabo.
Ngokomzekelo, umyalezo othi "uJake" uya kufumana i-GIF kunye nomlingiswa owaziwayo ovela kwi-Cartoon Adventure Time.
Ukuphuhlisa ibhot ngakumbi, kufuneka uqhagamshele ikhibhodi, jonga imizekelo, umzekelo,
11. Indlela yokuhlaziya ikhowudi kwaye uqalise kwakhona i-bot
Ungalibali ukuba kufuneka uhlaziye ikhowudi kungekuphela nje kwi-github, kodwa nakwiseva. Oku kulula ukwenza - yeka ibhot (cofa ctrl+c),
-ngena kwi-console ngelixa ukwifolda ekujoliswe kuyo, git pull
- siqalisa ibhot kwakhona ngomyalelo node index.js
ISIPHELO
Uninzi lwezinto ezichazwe kule fayile ziya kubonakala kakhulu kubadwelisi benkqubo abaphambili. Nangona kunjalo, xa mna ngokwam ndizama ukutsiba umsantsa ukuya kwihlabathi le-bots ngexesha elinye, ndasikhumbula ngokwenene eso sikhokelo. Isikhokelo esingaphosiyo izinto ezicacileyo nezilula kuyo nayiphi na ingcali ye-IT.
Kwixesha elizayo, ndicwangcisa isithuba malunga nendlela yokwenza isicelo sakho sokuqala kwi-ReactNative kwisitayile esifanayo, bhalisa!
umthombo: www.habr.com