Gida: nola egin Telegram bot soil bat JS-n programazioan hasiberrientzako

Duela hiru aste baino ez nintzen hasi nintzen informatikako munduan murgiltzen. Egia esan, duela hiru aste HTML sintaxia ere ez nuen ulertzen, eta nire programazio lengoaietarako sarrera duela 10 urteko Pascal-en eskola-curriculum batekin amaitu zen. Hala ere, IT udaleku batera joatea erabaki nuen, eta bertan umeek bot bat egitea ondo legokeen. Ia ez zela hain zaila erabaki nuen.

Honek bidai luze bati ekin nion:

  • Ubuntu-rekin hodeiko zerbitzari bat zabaldu zuen,
  • GitHub-en erregistratuta,
  • oinarrizko JavaScript sintaxia ikasi zuen,
  • irakurri artikulu mordoa ingelesez eta errusieraz,
  • azkenean bot bat egin zuen,
  • Azkenean idatzi dut artikulu hau.

Azken emaitzak honelako itxura izan zuen:

Gida: nola egin Telegram bot soil bat JS-n programazioan hasiberrientzako

Berehala esango dut hau hasiberrientzako artikulua dela, oinarrizko gauzak hutsetik nola egin ulertzeko.

Eta gainera, programatzaile aurreratuentzat, barre pixka bat eragiteko.

1. Nola idatzi kodea JS-n?

Ulertu nuen hizkuntzaren sintaxia lehenbailehen ulertzea merezi zuela behintzat. Aukera JavaScript-en geratu zen, niretzat hurrengo urratsa ReactNative-n aplikazio bat sortzea izan zelako. hasi nintzen noski Codecademy-n eta oso pozik geratu zen. Lehenengo 7 egunak doakoak dira. Benetako proiektuak. Gomendatzen dut. 25 ordu inguru behar izan zituen osatzea. Izan ere, dena ez zen erabilgarria izan. Hau da ikastaroaren egitura eta lehen blokea xehetasunez.

Gida: nola egin Telegram bot soil bat JS-n programazioan hasiberrientzako

2. Nola erregistratu bot bat?

Horrek asko lagundu zidan hasieran Artikulu hau Arkakov jakin baten blogetik. Hasieran murtxikatzen du. Baina gauza nagusia bot bat erregistratzeko argibideak dira. Ezin dut hobeto idatzi, eta hau zatirik errazena denez, mamia idatziko dut. Bot bat sortu eta bere APIa lortu behar duzu. Hau beste bot baten bidez egiten da - @BotFather. Bilatu telegram-en, idatzi iezaiozu, jarraitu bide sinplea eta lortu (gorde!) API gako bat (zenbaki eta letren multzoa da). Ondo etorri zen gero.

Gida: nola egin Telegram bot soil bat JS-n programazioan hasiberrientzako

3. Nolakoa da bot kodea?

Artikuluak denbora luzez aztertu ondoren, konturatu nintzen merezi zuela nolabaiteko liburutegi bat erabiltzea (hirugarrenen kodea modulu formatuan), Telegram APIa aztertzeaz eta hutsetik kode handiak sortzeaz kezkatu beharrik ez izateko. Markoa aurkitu dut telegraf, nolabait npm edo yarn erabiliz zerbaitekin konektatu behar zena. Gutxi gorabehera, horrela ulertu nuen orduan bot baten hedapena zertan zen. Barre egin hemen. Ez naiz irainduko. Orriaren behealdean dauden adibideek gehien lagundu zidaten bot-aren ondorengo sorreran:

Gida: nola egin Telegram bot soil bat JS-n programazioan hasiberrientzako

3. Nola sortu zure hodeiko zerbitzaria 100 errublotarako

Asko bilatu ondoren, goiko irudiko 'npm' komandoak komando-lerroari egiten diola konturatu nintzen. Komando-lerroa nonahi dago, baina exekutatu ahal izateko, NodePackageManager instalatu behar duzu. Arazoa ChromeOS-ekin PixelBook batean programatzen ari nintzela zen. Hemen bloke handi bat saltatuko dut Linux-i buruz nola ikasi nuen - gehienentzat hutsa eta alferrikakoa da. Windows edo MacBook bat baduzu, dagoeneko kontsola bat duzu.

Laburbilduz, Linux instalatu nuen Crostini bidez.

Hala ere, prozesuan, konturatu nintzen bot-ak etengabe lan egiteko (eta ez bakarrik nire ordenagailua piztuta dagoenean), hodeiko zerbitzari bat behar dudala. aukeratzen dut vscale.io 100 errublo gastatu eta Ubuntu zerbitzari merkeena erosi nuen (ikusi argazkia).

Gida: nola egin Telegram bot soil bat JS-n programazioan hasiberrientzako

4. Nola prestatu zerbitzari bat bot bat exekutatzeko

Horren ostean, zerbitzarian karpeta moduko bat egin behar nuela konturatu nintzen eta bertan fitxategia kode testuarekin jarriko nuen. Horretarako, kontsolan (exekutatu zuzenean webgunean β€œIreki kontsola” botoiaren bidez), sartu nintzen

mkdir bot

bot - hau nire karpetaren izena bihurtu zen. Horren ostean, npm eta Node.js instalatu nituen, eta horri esker *.js bereizmeneko fitxategietatik kodea exekutatu ahal izango dut.

sudo apt update
sudo apt install nodejs
sudo apt install npm

Oso gomendatzen dut fase honetan zerbitzarirako konexioa konfiguratzea zure kontsolaren bidez. Hemen Instrukzio Honek zerbitzariarekin zuzenean zure ordenagailuko kontsolaren bidez lan egiteko aukera emango dizu.

5. Nola idatzi zure lehen botaren kodea.

Baina orain niretzat aurkikuntza bat besterik ez da. Edozein programa testu-lerroak besterik ez dira. Edonon txerta daitezke, nahi den luzapenarekin gorde, eta kitto. Ederra zara. erabili nuen Atom, baina, egia esan, koaderno estandar batean idatzi besterik ez duzu egin. Gauza nagusia fitxategia geroago nahi den luzapenean gordetzea da. Testua Word-en idaztea eta gordetzea bezalakoa da.

Fitxategi berri bat egin nuen, eta bertan telegraf orrialdeko adibideko kodea sartu eta index.js fitxategian gorde nuen (oro har ez da beharrezkoa fitxategiari horrela izendatzea, baina ohikoa da). Garrantzitsua - BOT_TOKEN ordez, sartu zure API gakoa bigarren paragrafotik.

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. Nola igo kodea zerbitzarira github bidez

Orain nolabait kode hau zerbitzarira igo eta exekutatu behar nuen. Hau erronka bihurtu zen niretzat. Ondorioz, neke askoren ondoren, konturatu nintzen errazagoa izango zela github-en kodea eguneratzea kontsolan komando bat erabiliz. Kontu bat erregistratu dut GitHub eta egin zuen proiektu berria, non fitxategia igo nuen. Horren ostean, nire kontutik fitxategiak kargatzeko (ireki!) bot karpetako zerbitzarira nola konfiguratu asmatu behar nuen (bat-batean utzi baduzu, idatzi cd bot).

7. Nola igo fitxategiak zerbitzarira github 2. zatiaren bidez

Zerbitzarian git-etik fitxategiak deskargatuko zituen programa bat instalatu behar nuen. Git instalatu nuen zerbitzarian kontsolan idatziz

apt-get install git

Horren ostean fitxategia igotzea konfiguratu behar nuen. Horretarako, komando lerroan idatzi nuen

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

Ondorioz, proiektuko guztia zerbitzarira igo zen. Fase honetan akatsa izan zen, funtsean, lehendik zegoen bot karpetaren barruan bigarren karpeta bat egin nuela. Fitxategiaren helbideak */bot/bot/index.js itxura zuen

Arazo hau alde batera uztea erabaki nuen.

Eta telegraf liburutegia kargatzeko, kodearen lehen lerroan eskatzen duguna, idatzi komandoa kontsolan.

npm install telegraf

8. Nola abiarazi bot bat

Horretarako, fitxategia duen karpetan dagoen bitartean (kontsolaren bidez karpetaz karpeta mugitzeko, exekutatu formatu komandoa cd bot Egon behar duzun tokian zaudela ziurtatzeko, bertan dauden fitxategi eta karpeta guztiak kontsolan bistaratuko dituen komando bat sar dezakezu ls -a

Hasteko, kontsolara sartu nintzen

node index.js

Errorerik ez badago, dena ondo dago, bot-a lanean ari da. Bilatu hura telegramen. Akatsen bat badago, aplikatu 1. puntuko ezagutzak.

9. Nola exekutatu bot bat atzeko planoan

Azkar konturatuko zara bot-ak zu bakarrik kontsolan eserita zaudenean funtzionatzen duela. Arazo hau konpontzeko komandoa erabili dut

screen

Honen ostean, testu batzuk dituen pantaila bat agertuko da. Horrek esan nahi du dena ondo dagoela. Hodeiko zerbitzari batean zerbitzari birtual batean zaude. Guztiak nola funtzionatzen duen hobeto ulertzeko - hemen duzu artikulua. Joan zaitez zure karpetara eta sartu komandoa bot-a abiarazteko

node index.js

10. Nola funtzionatzen duen bot-ak eta nola zabaldu bere funtzionaltasuna

Zer egin dezake gure adibideko bot? Ahal du

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

esan "Ongi etorri!" hasieran (saiatu testua aldatzen)

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

/help komando estandarrari erantzunez, bidali "Bidali eranskailu bat" mezua

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

bidali onarpena eranskailu bati erantzunez

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

erantzun β€œKaixo” idazten badiote
bot.launch()

Gida: nola egin Telegram bot soil bat JS-n programazioan hasiberrientzako

helbidean kodea begiratuz gero GitHub, orduan azkar ulertuko duzu ez naizela funtzionaltasun honetatik oso urrun joan. Aktiboki erabiltzen dena funtzioa da ctx.replyWithPhoto Testu zehatz bati erantzunez argazki edo gif zehatz bat bidaltzeko aukera ematen du.

Kodearen zati esanguratsu bat 11-13 urte bitarteko haurrek idatzi zuten, bot-rako sarbidea eman nien. Erabiltzaile kasua sartu zuten. Uste dut erraza dela jakitea zein zati egin duten.

Adibidez, "Jake" mezuak GIF bat jasoko du Adventure Time marrazki bizidunetako pertsonaia ospetsu batekin.

Gida: nola egin Telegram bot soil bat JS-n programazioan hasiberrientzako

Bota gehiago garatzeko, teklatu bat konektatu behar duzu, ikusi adibideak, adibidez, beraz,

11. Nola eguneratu kodea eta bot-a berrabiarazi

Ez ahaztu kodea github-en ez ezik, zerbitzarian ere eguneratu behar duzula. Erraza da: gelditu bot-a (sakatu ctrl+c),

- sartu kontsolan xede karpetan dagoen bitartean, git pull
β€” komandoarekin bot-a abiarazten dugu berriro node index.js

END

Fitxategi honetan deskribatutako gauza asko oso begi-bistakoak izango dira programatzaile aurreratuentzat. Dena den, nik neuk amildegitik bot-en mundura kolpe bakarrean jauzi egiten saiatu nintzenean, asko galdu nuen halako gida bat. Edozein informatikako espezialistarentzat agerikoak eta errazak diren gauzak galdu ez dituen gida.

Etorkizunean, ReactNative-n zure lehen aplikazioa estilo berean nola egin jakiteko argitalpen bat antolatzen ari naiz, harpidetu!

Iturria: www.habr.com

Gehitu iruzkin berria