Kuv pib nkag rau hauv lub ntiaj teb ntawm IT tsuas yog peb lub lis piam dhau los. Tiag tiag, peb lub lis piam dhau los kuv tseem tsis tau nkag siab txog HTML syntax, thiab kuv cov lus qhia txog cov lus programming tau xaus nrog lub tsev kawm ntawv cov ntaub ntawv kawm ntawm Pascal txij li 10 xyoo dhau los. Txawm li cas los xij, kuv txiav txim siab mus rau IT camp, qhov twg nws yuav zoo rau cov me nyuam los ua bot. Kuv txiav txim siab tias nws tsis yog qhov nyuaj heev.
Qhov no pib taug kev ntev uas kuv:
- deployed huab server nrog Ubuntu,
- sau npe ntawm GitHub,
- kawm tau yooj yim JavaScript syntax,
- nyeem ib tuj ntawm cov ntawv hauv lus Askiv thiab Lavxias,
- thaum kawg ua ib tug bot,
- Thaum kawg kuv tau sau tsab xov xwm no.
Qhov kawg tshwm sim zoo li no:
Kuv mam li hais tam sim ntawd tias qhov no yog ib tsab xov xwm rau cov neeg pib tshiab - tsuas yog kom nkag siab yuav ua li cas los ntawm kos.
Thiab tseem - rau cov programmers siab heev - tsuas yog ua kom lawv luag me ntsis.
1. Yuav sau li cas hauv JS?
Kuv nkag siab tias nws tsim nyog tsawg kawg yog nkag siab txog cov lus ntawm cov lus ua ntej. Qhov kev xaiv poob rau JavaScript, tsuas yog vim cov kauj ruam tom ntej rau kuv yog los tsim ib daim ntawv thov hauv ReactNative. Kuv pib nrog
2. Yuav sau npe li cas rau bot?
Qhov no tau pab kuv ntau heev thaum pib
3. Tus lej bot zoo li cas?
Tom qab kawm cov ntawv ntev, kuv pom tau hais tias nws tsim nyog siv qee hom tsev qiv ntawv (tus neeg sab nrauv code hauv module hom) kom tsis txhob muaj kev txhawj xeeb txog kev kawm Telegram API thiab tsim cov lej loj ntawm kos. Kuv pom lub moj khaum
3. Yuav ua li cas los tsim koj tus kheej huab server rau 100 rubles
Tom qab tshawb nrhiav ntau, kuv pom tau tias 'npm' hais kom ua hauv daim duab saum toj no hais txog kab hais kom ua. Cov kab hais kom ua yog nyob txhua qhov chaw, tab sis kom muaj peev xwm ua tiav nws, koj yuav tsum nruab NodePackageManager. Qhov teeb meem yog tias kuv tau programming ntawm PixelBook nrog ChromeOS. Kuv yuav hla ntawm no ib qho loj thaiv txog qhov kuv kawm Linux - rau feem ntau nws yog khoob thiab tsis tsim nyog. Yog tias koj muaj Windows lossis MacBook, koj twb muaj lub console.
Hauv kev txiav txim siab, Kuv tau teeb tsa Linux ntawm Crostini.
Txawm li cas los xij, hauv cov txheej txheem, kuv pom tau hais tias rau bot ua haujlwm tas li (thiab tsis yog thaum kuv lub computer qhib), kuv xav tau huab server. kuv xaiv
4. Yuav ua li cas npaj ib lub server los khiav bot
Tom qab ntawd, kuv pom tau hais tias kuv yuav tsum tau ua qee yam ntawm cov ntawv tais ceev tseg ntawm lub server uas kuv yuav muab cov ntaub ntawv nrog cov ntawv code. Txhawm rau ua qhov no, hauv console (khiav ncaj qha ntawm lub vev xaib los ntawm "Qhib console" khawm), kuv nkag mus
mkdir bot
bot - qhov no tau los ua lub npe ntawm kuv phau ntawv tais ceev tseg. Tom qab ntawd, kuv tau nruab npm thiab Node.js, uas yuav tso cai rau kuv mam li khiav code los ntawm cov ntaub ntawv nrog *.js daws teeb meem.
sudo apt update
sudo apt install nodejs
sudo apt install npm
Kuv pom zoo kom teeb tsa kev sib txuas rau lub server los ntawm koj lub console ntawm theem no. Ntawm no
5. Yuav sau li cas rau koj thawj bot.
Tab sis tam sim no nws tsuas yog kev tshawb pom rau kuv xwb. Txhua qhov kev pab cuam tsuas yog cov kab ntawv xwb. Lawv tuaj yeem tso rau txhua qhov chaw, khaws cia nrog qhov xav tau txuas ntxiv, thiab qhov ntawd yog nws. Koj zoo nkauj. kuv siv
Kuv tau ua cov ntaub ntawv tshiab, rau hauv uas kuv tau ntxig cov lej los ntawm qhov piv txwv ntawm nplooj ntawv telegraf thiab khaws cia rau hauv cov ntaub ntawv index.js (feem ntau nws tsis tsim nyog rau npe cov ntaub ntawv li ntawd, tab sis qhov no yog kev cai). Tseem ceeb - hloov BOT_TOKEN, ntxig koj tus lej API los ntawm kab lus thib ob.
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. Yuav ua li cas upload code rau lub server ntawm github
Tam sim no kuv xav tau qee qhov tso cai no rau lub server thiab khiav nws. Qhov no tau dhau los ua qhov nyuaj rau kuv. Raws li qhov tshwm sim, tom qab muaj kev ntxhov siab ntau, kuv pom tau tias nws yuav yooj yim dua los tsim cov ntaub ntawv ntawm github uas tso cai rau koj hloov kho cov cai siv cov lus txib hauv console. Kuv sau npe tus account rau
7. Yuav ua li cas upload cov ntaub ntawv rau lub server ntawm github part 2
Kuv yuav tsum tau nruab ib qhov kev pab cuam ntawm lub server uas yuav rub tawm cov ntaub ntawv los ntawm git. Kuv tau nruab git ntawm lub server los ntawm kev ntaus ntawv rau hauv console
apt-get install git
Tom qab ntawd kuv yuav tsum configure cov ntaub ntawv upload. Ua li no, kuv ntaus rau hauv kab hais kom ua
git clone git://github.com/b0tank/bot.git bot
Yog li ntawd, txhua yam ntawm qhov project tau muab tso rau hauv lub server. Qhov yuam kev ntawm theem no yog qhov tseem ceeb uas kuv tau ua ib daim ntawv thib ob hauv lub bot uas twb muaj lawm. Qhov chaw nyob rau cov ntaub ntawv zoo li */bot/bot/index.js
Kuv txiav txim siab tsis quav ntsej qhov teeb meem no.
Thiab txhawm rau thauj cov tsev qiv ntawv telegraf, uas peb thov hauv thawj kab ntawm cov lej, ntaus cov lus txib rau hauv console.
npm install telegraf
8. Yuav ua li cas qhib lub bot
Txhawm rau ua qhov no, thaum nyob hauv daim nplaub tshev nrog cov ntaub ntawv (kom txav ntawm daim nplaub tshev mus rau nplaub tshev ntawm lub console, khiav cov lus txib cd bot
Txhawm rau kom paub tseeb tias koj nyob qhov twg koj xav tau, koj tuaj yeem nkag mus rau cov lus txib uas yuav tso tawm hauv console tag nrho cov ntaub ntawv thiab cov folders uas nyob ntawd. ls -a
Txhawm rau pib, kuv nkag mus rau hauv console
node index.js
Yog tias tsis muaj qhov yuam kev, txhua yam zoo, bot ua haujlwm. Nrhiav nws hauv telegram. Yog tias muaj qhov yuam kev, siv koj qhov kev paub los ntawm point 1.
9. Yuav ua li cas khiav ib bot hauv keeb kwm yav dhau
Heev sai koj yuav paub tias bot tsuas yog ua haujlwm thaum koj tus kheej zaum hauv console. Txhawm rau daws qhov teeb meem no kuv siv cov lus txib
screen
Tom qab no, ib qho screen nrog ib co ntawv nyeem yuav tshwm. Qhov no txhais tau tias txhua yam zoo. Koj nyob ntawm lub server virtual ntawm huab server. Kom nkag siab zoo dua li cas nws ua haujlwm txhua yam -
node index.js
10. Yuav ua li cas lub bot ua hauj lwm thiab yuav ua li cas nthuav nws functionality
Peb tus piv txwv bot ua li cas? Nws ua tau
bot.start((ctx) => ctx.reply('Welcome!'))
hais tias "Zoo siab txais tos!" thaum pib (sim hloov cov ntawv nyeem)
bot.help((ctx) => ctx.reply('Send me a sticker'))
nyob rau hauv teb rau tus qauv / pab hais kom ua, xa cov lus "Xa kuv ib daim ntawv nplaum"
bot.on('sticker', (ctx) => ctx.reply(''))
xa kev pom zoo los teb rau daim ntawv nplaum
bot.hears('hi', (ctx) => ctx.reply('Hey there'))
teb "Hav nyob ntawd" yog lawv sau "nyob zoo" rau nws
bot.launch()
Yog koj saib cov cai ntawm ctx.replyWithPhoto
Nws tso cai rau koj xa ib daim duab tshwj xeeb lossis gif teb rau cov ntawv tshwj xeeb.
Ib feem tseem ceeb ntawm cov cai tau sau los ntawm cov menyuam yaus hnub nyoog 11-13, uas kuv tau nkag mus rau bot. Lawv nkag mus rau lawv cov neeg siv cov ntaub ntawv. Kuv xav tias nws yooj yim los qhia qhov twg yog qhov tsim los ntawm lawv.
Piv txwv li, cov lus "Jake" yuav tau txais GIF nrog lub cim nto moo los ntawm lub sijhawm taug txuj kev nyuaj tas luav.
Txhawm rau txhim kho bot ntxiv, koj yuav tsum txuas lub keyboard, saib cov piv txwv, piv txwv li,
11. Yuav hloov kho li cas thiab rov pib lub bot
Tsis txhob hnov ββββqab tias koj yuav tsum hloov kho cov cai tsis yog ntawm github nkaus xwb, tab sis kuj tseem nyob ntawm server. Qhov no yooj yim ua - nres lub bot (nias ctrl + c),
- nkag mus rau hauv lub console thaum nyob rau hauv lub hom phiaj nplaub tshev, git pull
- peb tso lub bot dua nrog cov lus txib node index.js
kAWG
Ntau yam uas tau piav qhia hauv cov ntaub ntawv no yuav pom tseeb rau cov programmers siab heev. Txawm li cas los xij, thaum kuv tus kheej sim dhia hla lub chasm mus rau lub ntiaj teb ntawm bots nyob rau hauv ib tug poob swoop, kuv yeej nco zoo li cov lus qhia. Phau ntawv qhia uas tsis nco tej yam uas pom tseeb thiab yooj yim rau txhua tus kws tshaj lij IT.
Nyob rau hauv lub neej yav tom ntej, kuv tab tom npaj ib tsab xov xwm hais txog yuav ua li cas ua koj thawj daim ntawv thov ntawm ReactNative nyob rau hauv tib style, subscribe!
Tau qhov twg los: www.hab.com