Taʻiala: faʻafefea ona fai se telefoni Telegram bot i le JS mo se amataga ile polokalame

Na amata ona ou faatofuina aʻu i le lalolagi o IT na o le tolu vaiaso talu ai. O le mea moni, i le tolu vaiaso talu ai ou te leʻi malamalama i le HTML syntax, ma o laʻu folasaga i polokalame polokalame na faaiʻu i se aʻoga aʻoga i Pascal mai le 10 tausaga talu ai. Ae ui i lea, na ou filifili e alu i le IT camp, lea e manaia mo tamaiti e fai se bot. Sa ou filifili e tau le faigata.

Na amata ai se malaga umi lea na ou:

  • faʻapipiʻiina se 'auʻaunaga ao ma Ubuntu,
  • resitala ile GitHub,
  • aʻoaʻoina le faʻasologa o le JavaScript,
  • faitau le tele o tala i le Igilisi ma le Rusia,
  • mulimuli ane faia se bot,
  • Na iu ina ou tusia lenei tusiga.

O le fa'ai'uga mulimuli e pei o lenei:

Taʻiala: faʻafefea ona fai se telefoni Telegram bot i le JS mo se amataga ile polokalame

O le a ou fai atu i le taimi lava lena o se tusiga lenei mo tagata amata - naʻo le malamalama pe faʻapefea ona fai mea masani mai le sasa.

E fa'apea fo'i - mo tagata fai polokalame maualuluga - na'o le fa'ata'ata teisi.

1. Faʻafefea ona tusia le code i le JS?

Na ou malamalama e aoga le malamalama muamua i le syntax o le gagana. O le filifiliga na pa'ū i luga o le JavaScript, ona o le isi laasaga mo aʻu o le fatuina lea o se talosaga ile ReactNative. Sa ou amata i ala i Codecademy ma sa matua fiafia lava. O aso muamua e 7 e leai se totogi. Poloketi moni. Ou te fautuaina. E tusa ma le 25 itula le fa'amae'aina. O le mea moni, e lē o aogā uma. O le foliga lea o le fausaga o le kosi ma le poloka muamua i auiliiliga.

Taʻiala: faʻafefea ona fai se telefoni Telegram bot i le JS mo se amataga ile polokalame

2. Fa'afefea ona lesitala se bot?

Na fesoasoani tele lenei mea ia te au i le amataga lenei tusitusiga mai le blog a se tagata Archakov. Na te lamu le amataga. Ae o le mea autu o loʻo i ai faʻatonuga mo le resitalaina o se bot. E le mafai ona ou tusia lelei, ma talu ai o le vaega pito sili lea ona faigofie, o le a ou tusia le autu. E tatau ona e faia se bot ma maua lana API. E faia lenei mea e ala i se isi bot - @BotFather. Su'e o ia i luga o le telefoni, tusi atu ia te ia, mulimuli i le ala faigofie ma maua (sefe!) se ki API (o se seti o numera ma mataitusi). Na maua mulimuli ane.

Taʻiala: faʻafefea ona fai se telefoni Telegram bot i le JS mo se amataga ile polokalame

3. O le a le foliga o le code bot?

Ina ua uma ona suʻesuʻeina tala mo se taimi umi, na ou iloa ai e aoga le faʻaaogaina o se ituaiga o faletusi (codet-party code in module format) ina ia aua neʻi popole e uiga i le suʻesuʻeina o le Telegram API ma le fatuina o fasi numera tetele mai le sasa. Na ou mauaina le auivi telekalafi, lea e manaʻomia ona fesoʻotaʻi i se mea e faʻaaoga ai le npm poʻo le vulu. E tusa lea ma le auala na ou malamalama ai i le mea e aofia ai le faʻapipiʻiina o se bot. Talie iinei. O le a ou le tausuai. O faʻataʻitaʻiga i le pito i lalo o le itulau na sili ona fesoasoani ia te aʻu i le taimi na faia ai le bot:

Taʻiala: faʻafefea ona fai se telefoni Telegram bot i le JS mo se amataga ile polokalame

3. Faʻafefea ona fatuina lau lava server cloud mo 100 rubles

Ina ua uma le tele o suʻesuʻega, na ou iloa ai o le 'npm' poloaiga i le ata o loʻo i luga e faʻatatau i le laina o le poloaiga. O le laina o le poloaiga o loʻo i soo se mea, ae ina ia mafai ona faʻatinoina, e tatau ona e faʻapipiʻi NodePackageManager. O le faʻafitauli o loʻo ou faʻapipiʻiina i luga o se PixelBook ma ChromeOS. O le a ou misia iinei se poloka tele e uiga i le auala na ou aʻoaʻoina ai Linux - mo le tele e gaogao ma e le manaʻomia. Afai e iai sau Windows po'o se MacBook, ua uma ona iai sau fa'amafanafanaga.

I se faapuupuuga, na ou faʻapipiʻi Linux e ala i Crostini.

Ae ui i lea, i le faagasologa, na ou iloa ai mo le bot e galue i taimi uma (ae le na o le taimi o loʻo i ai laʻu komepiuta), ou te manaʻomia se 'auʻaunaga ao. Sa ou filifilia vscale.io Na ou faʻaaluina 100 rubles ma faʻatau le server Ubuntu sili ona taugofie (silasila i le ata).

Taʻiala: faʻafefea ona fai se telefoni Telegram bot i le JS mo se amataga ile polokalame

4. Faʻafefea ona saunia se server e faʻatautaia se bot

Ina ua uma lena, na ou iloa ai e tatau ona ou faia se ituaiga faila i luga o le server lea ou te tuu ai le faila ma le code text. Ina ia faia lenei mea, i totonu o le faʻamafanafanaga (taufetuli saʻo i luga o le upega tafaʻilagi e ala i le "Open console" button), na ou ulufale

mkdir bot

bot - na avea lea ma igoa o laʻu faila. A maeʻa lena, na ou faʻapipiʻi npm ma Node.js, lea o le a faʻatagaina ai aʻu e faʻatautaia le code mai faila ma le * .js resolution

sudo apt update
sudo apt install nodejs
sudo apt install npm

Ou te matua fautuaina le setiina o se fesoʻotaʻiga i le server e ala i lau faʻamafanafanaga i lenei laasaga. O iinei faatonuga Ole mea lea ole a fa'atagaina oe e galulue sa'o ma le 'au'aunaga e ala i le fa'amafanafanaga o lau komepiuta.

5. Faʻafefea ona tusia le code mo lau muamua bot.

Ae o lenei ua na o se mea na maua mo aʻu. So'o se polokalame e na'o laina o tusitusiga. E mafai ona faʻaofiina i soʻo se mea, faʻasaoina ma le faʻaopoopoga manaʻomia, ma o le mea lena. E te aulelei. Sa ou faaaogaina atomu, ae o le mea moni, e mafai lava ona e tusi i totonu o se notepad masani. O le mea autu o le faʻasaoina o le faila mulimuli ane i le faʻaopoopoga manaʻomia. E pei o le tusiaina o tusitusiga i le Word ma sefe.

Na ou faia se faila fou, lea na ou faʻapipiʻiina ai le code mai le faʻataʻitaʻiga i luga o le itulau telegraf ma faʻasaoina i le faila index.js (i se tulaga lautele e le tatau ona taʻu le faila i lena auala, ae o le masani lea). Taua - nai lo le BOT_TOKEN, fa'aofi lau ki API mai le parakalafa lona lua.

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. Faʻafefea ona tuʻuina atu le code i le server e ala i le github

O lea la ua ou manaʻomia e tuʻuina atu lenei code i le 'auʻaunaga ma faʻatautaia. Na avea lenei mea ma luitau mo au. O se taunuuga, ina ua uma le tele o faigata, na ou iloa ai o le a sili atu ona faigofie le fatuina o se faila i luga o le github e mafai ai ona e faʻafouina le code e faʻaaoga ai se faʻatonuga i le faʻamafanafanaga. Sa ou resitalaina se teugatupe i github ma faia galuega fou, lea na ou lafoina ai le faila. A maeʻa lena, sa manaʻomia ona ou mafaufau pe faʻafefea ona faʻapipiʻi faila mai laʻu tala (tatala!) I le 'auʻaunaga i le pusa pusa (afai e te faʻafuaseʻi ona tuʻua, naʻo le tusi cd bot).

7. Fa'afefea ona tu'u faila ile server e ala ile github vaega 2

Sa ou manaʻomia le faʻapipiʻiina o se polokalame i luga o le 'auʻaunaga e faʻapipiʻi faila mai le git. Na ou faʻapipiʻi le git i luga o le 'auʻaunaga e ala i le taina i totonu o le faʻamafanafanaga

apt-get install git

Ina ua uma lena, sa ou manaʻomia le faʻatulagaina o le faila faila. Ina ia faia lenei mea, sa ou taina i le laina o le poloaiga

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

O se taunuuga, o mea uma mai le poloketi na tuʻuina atu i le 'auʻaunaga. O le mea sese i lenei laasaga o le mea moni na ou faia se pusa lona lua i totonu o le pusa pusa o loʻo i ai nei. O le tuatusi i le faila e pei o */bot/bot/index.js

Sa ou filifili e le amanaiaina lenei faafitauli.

Ma ia utaina le faletusi telegraf, lea matou te talosagaina i le laina muamua o le code, faʻapipiʻi le poloaiga i totonu o le faʻamafanafanaga.

npm install telegraf

8. Faʻafefea ona faʻalauiloa se bot

Ina ia faia lenei mea, aʻo iai i totonu o le faila ma le faila (ia alu mai le faʻailoga i le pusa e ala i le faʻamafanafanaga, faʻatautaia le faʻatonuga o le faʻatonuga cd bot Ina ia mautinoa o loʻo e i ai i le mea e te manaʻomia, e mafai ona e ulufale i se faʻatonuga o le a faʻaalia i totonu o le faʻamafanafanaga faila uma ma faila o loʻo i ai iina ls -a

Ina ia amata, sa ou ulu atu i totonu o le console

node index.js

Afai e leai se mea sese, e lelei mea uma, o loʻo galue le bot. Vaavaai mo ia i luga o le telefoni. Afai ei ai se mea sese, faʻaaoga lou malamalama mai le vaega 1.

9. Fa'afefea ona ta'avale se bot i tua

E vave lava ona e iloa o le bot e naʻo le galue pe a e nofo i totonu o le faʻamafanafanaga. Ina ia foia lenei faafitauli sa ou faaaogaina le poloaiga

screen

A maeʻa lenei mea, o le a aliali mai se lau e iai ni tusitusiga. O lona uiga o lo'o lelei mea uma. O oe o lo'o i luga o se 'upega tafa'ilagi i luga o se 'au'aunaga ao. Ina ia malamalama atili pe faʻapefea ona galue uma - o le tala lea. Naʻo le alu i lau faila ma ulufale i le poloaiga e faʻalauiloa le bot

node index.js

10. Fa'afefea ona galue le bot ma le fa'alauteleina o ana galuega

O le a se mea e mafai ona fai e la tatou faʻataʻitaʻiga bot? Na te mafaia

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

fai atu "Susu mai!" i le taimi e amata ai (taumafai sui le tusitusiga)

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

i le tali atu i le faʻatonuga / fesoasoani, lafo le feʻau "Auina mai ia te aʻu se fasi pepa"

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

auina atu le faamaoniga e tali atu ai i se pepa faapipii

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

tali atu “Talofa” pe a latou tusi atu le “talofa” ia te ia
bot.launch()

Taʻiala: faʻafefea ona fai se telefoni Telegram bot i le JS mo se amataga ile polokalame

Afai e te tilotilo i le code i github, ona e vave malamalama ai lea ou te leʻi alu mamao ese mai lenei faʻatinoga. O le mea o loʻo faʻaaogaina o le galuega ctx.replyWithPhoto E fa'atagaina oe e lafo se ata fa'apitoa po'o se gif e tali atu ai i se tusitusiga patino.

O se vaega taua o le tulafono na tusia e tamaiti e 11-13 tausaga, na ou tuʻuina atu i ai le avanoa i le bot. Na latou ulufale i la latou fa'aoga-mataupu. Ou te manatu e faigofie ona iloa po o fea vaega na latou faia.

Mo se faʻataʻitaʻiga, o le savali "Jake" o le a maua se GIF ma se tagata taʻutaʻua mai le cartoon Adventure Time.

Taʻiala: faʻafefea ona fai se telefoni Telegram bot i le JS mo se amataga ile polokalame

Ina ia atiaʻe atili le bot, e tatau ona e faʻafesoʻotaʻi se piano, vaʻai faʻataʻitaʻiga, mo se faʻataʻitaʻiga, mai iinei

11. Faʻafefea ona faʻafouina le code ma toe amata le bot

Aua nei galo e te manaʻomia le faʻafouina o le code e le gata ile github, ae faʻapea foi ile server. E faigofie ona fai - taofi le bot (oomi le ctrl+c),

- ulufale i totonu o le faʻamafanafanaga aʻo iai i totonu o le pusa faʻatatau, git pull
- matou toe faʻalauiloa le bot ma le faʻatonuga node index.js

TULAGA

O le tele o mea o loʻo faʻamatalaina i lenei faila o le a sili atu ona manino i tagata fai polokalame. Ae ui i lea, ina ua ou taumafai lava e oso i luga o le vanu i le lalolagi o bots i se taimi e tasi, sa ou matua misia lava sea taiala. O se taʻiala e le misia mea e manino ma faigofie mo soʻo se tagata tomai faapitoa IT.

I le lumanaʻi, o loʻo ou fuafuaina se faʻasalalauga e uiga i le auala e fai ai lau talosaga muamua ile ReactNative i le faiga lava e tasi, lesitala!

puna: www.habr.com

Faaopoopo i ai se faamatalaga