Amalitere m imikpu onwe m n'ime ụwa IT naanị izu atọ gara aga. N'ezie, izu atọ gara aga, aghọtaghị m HTML syntax, na iwebata m na asụsụ mmemme kwụsịrị na usoro ọmụmụ ụlọ akwụkwọ na Pascal site na 10 afọ gara aga. Otú ọ dị, ekpebiri m ịga n'ogige IT, ebe ọ ga-adị mma ka ụmụaka mee bot. Ekpebiri m na o siri ike otú ahụ.
Nke a malitere ogologo njem nke m:
- weghaara ihe nkesa igwe ojii na Ubuntu,
- edebanye aha na GitHub,
- mụtara syntax Javascript bụ isi,
- gụọ ọtụtụ akụkọ n'asụsụ Bekee na Russian,
- mechara mee bot,
- M mechara dee akụkọ a.
Nsonaazụ ikpeazụ dị ka nke a:
M ga-ekwu ozugbo na nke a bụ akụkọ maka ndị mbido - naanị ịghọta otu esi eme ihe ndị bụ isi site na ọkọ.
Na kwa - maka ndị mmemme dị elu - naanị iji mee ka ha chịa ntakịrị.
1. Kedu otu esi ede koodu na JS?
Aghọtara m na ọ bara uru ma ọ dịkarịa ala ịghọta syntax nke asụsụ ahụ. Nhọrọ ahụ dabara na Javascript, naanị n'ihi na nzọụkwụ ọzọ maka m bụ imepụta ngwa na ReactNative. M ji malite
2. Kedu otu esi edebanye aha bot?
Nke a nyeere m aka nke ukwuu ná mmalite
3. Kedu ka koodu bot dị ka?
Mgbe m mụsịrị isiokwu ndị ahụ ogologo oge, achọpụtara m na ọ bara uru iji ụdị ọbá akwụkwọ (koodu nke atọ na usoro modul) ka ị ghara ichegbu onwe gị banyere ịmụ Telegram API na ịmepụta nnukwu koodu site na ọkọ. Achọtara m usoro ahụ
3. Otu esi emepụta ihe nkesa igwe ojii maka 100 rubles
Mgbe ọtụtụ nyocha gasịrị, achọpụtara m na iwu 'npm' dị na foto dị n'elu na-ezo aka n'ahịrị iwu. Ahịrị iwu dị ebe niile, mana iji nwee ike ime ya, ịkwesịrị ịwụnye NodePackageManager. Nsogbu bụ na m na-eme mmemme na PixelBook na ChromeOS. M ga-awụpụ ebe a nnukwu ngọngọ banyere otu m siri mụta Linux - maka ọtụtụ ọ bụ ihe efu na enweghị isi. Ọ bụrụ na ị nwere Windows ma ọ bụ MacBook, ị nweelarị console.
Na nkenke, etinyere m Linux site na Crostini.
Otú ọ dị, na usoro ahụ, achọpụtara m na ka bot na-arụ ọrụ mgbe niile (ma ọ bụghị naanị mgbe kọmputa m na-arụ ọrụ), achọrọ m sava igwe ojii. Ahọrọ m
4. Otu esi akwadebe ihe nkesa iji mee bot
Mgbe nke ahụ gasịrị, achọpụtara m na ọ dị m mkpa ịme ụdị nchekwa na ihe nkesa nke m ga-etinye faịlụ ahụ na ederede koodu. Iji mee nke a, na njikwa (na-agba ọsọ ozugbo na webụsaịtị site na bọtịnụ "Mepee console"), etinyere m
mkdir bot
bot - nke a ghọrọ aha folda m. Mgbe nke ahụ gasịrị, etinyere m npm na Node.js, nke ga-enye m ohere ịme koodu site na faịlụ na * .js mkpebi.
sudo apt update
sudo apt install nodejs
sudo apt install npm
Ana m akwado ịkwado njikọ na ihe nkesa site na njikwa gị n'oge a. Ebe a
5. Otu esi ede koodu maka bot mbụ gị.
Ma ugbu a ọ bụ naanị nchọpụta m. Mmemme ọ bụla bụ naanị ahịrị ederede. Enwere ike itinye ha n'ebe ọ bụla, chekwaa ya na ndọtị a chọrọ, ọ bụkwa ya. Ị mara mma. Eji m ya
Emere m faịlụ ọhụrụ, nke m tinyere koodu site na ihe atụ na ibe telegraf wee chekwaa ya na faịlụ index.js (n'ozuzu ọ dịghị mkpa ịkpọ faịlụ ahụ n'ụzọ ahụ, mana nke a bụ omenala). Ihe dị mkpa - kama BOT_TOKEN, tinye igodo API gị site na paragraf nke abụọ.
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. Otu esi ebugo koodu na sava site na github
Ugbu a achọrọ m ibugo koodu a na sava wee mee ya. Nke a ghọrọ ihe ịma aka nye m. N'ihi ya, mgbe ọtụtụ nsogbu gasịrị, achọpụtara m na ọ ga-adị mfe ịmepụta faịlụ na github nke na-enye gị ohere imelite koodu site na iji iwu na njikwa. M debanyere akaụntụ na
7. Otu esi ebugo faịlụ na sava site na github akụkụ 2
Achọrọ m ịwụnye mmemme na sava nke ga-ebudata faịlụ na git. Etinyere m git na ihe nkesa site na ịpị na njikwa
apt-get install git
Mgbe nke ahụ gasịrị, achọrọ m ịhazi nbudata faịlụ ahụ. Iji mee nke a, pịnyere m n'ahịrị iwu
git clone git://github.com/b0tank/bot.git bot
N'ihi ya, ihe niile sitere na oru ngo a bulitere na ihe nkesa. Njehie dị n'oge a bụ na m mere folda nke abụọ n'ime folda bot dị adị. Adreesị faịlụ ahụ dị ka */bot/bot/index.js
Ekpebiri m ileghara nsogbu a anya.
Na ịkwanye ọba akwụkwọ telegraf, nke anyị na-arịọ na ahịrị mbụ nke koodu, pịnye iwu n'ime njikwa.
npm install telegraf
8. Otu esi ebido bot
Iji mee nke a, mgbe ị nọ na folda nwere faịlụ ahụ (iji bugharịa site na nchekwa gaa na nchekwa site na njikwa, na-agba ọsọ usoro iwu cd bot
Iji jide n'aka na ị nọ ebe ịchọrọ ịnọ, ị nwere ike itinye iwu nke ga-egosipụta na njikwa faịlụ na nchekwa niile dị n'ebe ahụ. ls -a
Iji bido, abanyere m na console
node index.js
Ọ bụrụ na enweghị njehie, ihe niile dị mma, bot na-arụ ọrụ. Chọọ ya na telegram. Ọ bụrụ na enwere njehie, tinye ihe ọmụma gị site na isi 1.
9. Otu esi agba bot n'azụ
Ngwa ngwa ị ga-achọpụta na bot na-arụ ọrụ naanị mgbe gị onwe gị nọ ọdụ na njikwa. Iji dozie nsogbu a, ejiri m iwu ahụ
screen
Mgbe nke a gasịrị, ihuenyo nwere ụfọdụ ederede ga-apụta. Nke a pụtara na ihe niile dị mma. Ị nọ na ihe nkesa mebere na igwe ojii. Iji ghọta nke ọma ka ọ niile si arụ ọrụ -
node index.js
10. Otu bot si arụ ọrụ na otu esi gbasaa ọrụ ya
Kedu ihe ihe atụ anyị nwere ike ime? O nwere ike
bot.start((ctx) => ctx.reply('Welcome!'))
sị "Nnọọ!" n'oge mmalite (gbalịa ịgbanwe ederede)
bot.help((ctx) => ctx.reply('Send me a sticker'))
na nzaghachi nye ọkọlọtọ / enyemaka iwu, zipu ozi "Zitere m ihe mmado"
bot.on('sticker', (ctx) => ctx.reply(''))
zipu nnabata na nzaghachi nye ihe mmado
bot.hears('hi', (ctx) => ctx.reply('Hey there'))
zaa "Hey ebe ahụ" ma ọ bụrụ na ha edegara ya "hi".
bot.launch()
Ọ bụrụ na ị na-elele koodu na ctx.replyWithPhoto
Ọ na-enye gị ohere izipu foto ma ọ bụ gif akọwapụtara na nzaghachi nke ederede akọwapụtara.
Otu akụkụ dị mkpa nke koodu ahụ bụ ụmụaka dị afọ 11-13, bụ ndị m nyere ohere ịnweta bot. Ha banyere n'akpa ha. Echere m na ọ dị mfe ịkọ akụkụ nke ha mere.
Dịka ọmụmaatụ, ozi "Jake" ga-enweta GIF nwere àgwà a ma ama site na oge njem ihe nkiri.
Iji zụlite bot n'ihu, ịkwesịrị ijikọ ahụigodo, hụ ọmụmaatụ, dịka ọmụmaatụ,
11. Otu esi emelite koodu ma malitegharịa bot
Echefula na ịkwesịrị imelite koodu ọ bụghị naanị na github, kamakwa na ihe nkesa. Nke a dị mfe ime - kwụsị bot (pịa ctrl + c),
- banye na console mgbe ị nọ na nchekwa ebumnuche, git pull
- anyị na-eji iwu ahụ malite bot ọzọ node index.js
ọgwụgwụ
Ọtụtụ n'ime ihe ndị akọwara na faịlụ a ga-apụta ìhè nke ukwuu nye ndị mmemme dị elu. Otú ọ dị, mgbe mụ onwe m nwara ịwụli elu n'ọgba aghara gaa n'ụwa nke bots n'otu ntabi anya, onye nduzi dị otú ahụ agbaghara m n'ezie. Ntuziaka na-adịghị atụfu ihe ndị doro anya ma dị mfe maka ọkachamara IT ọ bụla.
N'ọdịnihu, m na-eme atụmatụ maka otu esi eme ngwa mbụ gị na ReactNative n'otu ụdị ahụ, denye aha!
isi: www.habr.com