Ndakatanga kuzvinyudza munyika yeIT masvondo matatu apfuura. Zvakaoma, mavhiki matatu apfuura handina kana kunzwisisa HTML syntax, uye sumo yangu yemitauro yehurongwa yakapera nedzidzo yechikoro paPascal kubva makore gumi apfuura. Zvisinei, ndakasarudza kuenda kumusasa weIT, uko zvingava zvakanaka kuti vana vaite bot. Ndakaona kuti zvakanga zvakaoma kudaro.
Izvi zvakatanga rwendo rurefu umo ini:
- akaisa cloud server neUbuntu,
- yakanyoreswa paGitHub,
- akadzidza chirevo cheJavaScript syntax,
- verenga toni yezvinyorwa muChirungu neRussia,
- pakupedzisira akaita bot,
- Ndakazonyora nyaya iyi.
Mhedzisiro yekupedzisira yakaita seizvi:
Ini ndichataura ipapo ipapo kuti ichi chinyorwa chevanotanga - kungonzwisisa maitiro ekuita zvinhu zvakakosha kubva pakutanga.
Uye zvakare - kune vepamberi programmers - kungoita kuti vaseke zvishoma.
1. Nzira yekunyora kodhi muJS?
Ndakanzwisisa kuti zvaive zvakakosha kuti ndinzwisise masintakisi emutauro kutanga. Sarudzo yakawira paJavaScript, nekuda kwekuti nhanho yaitevera kwandiri yaive yekugadzira application muReactNative. Ndakatanga nazvo
2. Nzira yekunyora sei bot?
Izvi zvakandibatsira zvikuru pakutanga
3. Ko bot code inoita sei?
Mushure mekudzidza zvinyorwa kwenguva yakareba, ndakaona kuti zvaive zvakakodzera kushandisa imwe mhando yeraibhurari (yechitatu-bato kodhi mumodule fomati) kuti urege kunetseka nezve kudzidza iyo Telegraph API uye kugadzira zvidimbu zvakakura zvekodhi kubva pakutanga. Ndakawana framework
3. Ungagadzira sei yako cloud server ye100 rubles
Mushure mekutsvaga kwakawanda, ndakaona kuti iyo 'npm' yekuraira iri pamufananidzo uri pamusoro inoreva mutsara wekuraira. Mutsetse wekuraira uri kwese kwese, asi kuti ukwanise kuuita, unofanirwa kuisa NodePackageManager. Dambudziko nderekuti ndaironga paPixelBook ine ChromeOS. Ini ndichasvetukira pano chivharo chikuru nezve madzidzire andakaita Linux - kune mazhinji haina chinhu uye haina basa. Kana uine Windows kana MacBook, watova nekoni.
Muchidimbu, ndakaisa Linux kuburikidza neCrostini.
Nekudaro, mukuita izvi, ndakaona kuti kuti bot ishande nguva dzose (uye kwete chete kana komputa yangu iripo), ndinoda sevha yegore. Ndakasarudza
4. Nzira yekugadzirira sei sevha kuti iite bot
Mushure meizvozvo, ndakaona kuti ndaifanira kugadzira imwe mhando yeforodha pane sevha umo ndaizoisa iyo faira ine kodhi zvinyorwa. Kuti uite izvi, mune console (mhanya zvakananga pawebsite kuburikidza ne "Open console" bhatani), ndakapinda
mkdir bot
bot - iri rakava zita refolda yangu. Mushure mezvo, ndakaisa npm neNode.js, izvo zvinonditendera kuti nditange kodhi kubva kumafaira ane *.js resolution.
sudo apt update
sudo apt install nodejs
sudo apt install npm
Ini ndinokurudzira zvikuru kumisikidza chinongedzo kune server kuburikidza nekoni yako panguva ino. Here
5. Nzira yekunyora kodhi yebhoti yako yekutanga.
Asi ikozvino chave kungowanikwa kwandiri. Chero purogiramu ingori mitsetse yezvinyorwa. Iwo anogona kuiswa chero kupi, akachengetedzwa neaunoda kuwedzera, uye ndizvozvo. Wakanaka. Ndakashandisa
Ndakagadzira faira itsva, iyo yandakaisa kodhi kubva kumuenzaniso pane peji ye telegraf uye ndakaichengeta mu index.js file (kazhinji hazvidikanwi kutumidza faira nenzira iyo, asi iyi ndiyo tsika). Zvakakosha - pachinzvimbo cheBOT_TOKEN, isa kiyi yako yeAPI kubva pandima yechipiri.
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. Nzira yekuisa sei code kune server kuburikidza ne github
Zvino ini ndaida neimwe nzira kurodha iyi kodhi kune server uye kuimhanyisa. Izvi zvakava dambudziko kwandiri. Nekuda kweizvozvo, mushure mekuomerwa kwakawanda, ndakaona kuti zvingava nyore kugadzira faira pagithub inokubvumira kuti uvandudze kodhi uchishandisa murairo mune console. Ndakanyoresa account pa
7. Maitiro ekurodha mafaera kune server kuburikidza negithub chikamu 2
Ini ndaida kuisa chirongwa pane server chaizorodha mafaera kubva kugit. Ndakaisa git pane server nekunyora mukati meiyo console
apt-get install git
Mushure meizvozvo ini ndaifanira kugadzirisa iyo file upload. Kuti ndiite izvi, ndakanyora mumutsara wekuraira
git clone git://github.com/b0tank/bot.git bot
Nekuda kweizvozvo, zvese kubva kuprojekiti zvakaiswa kune server. Chikanganiso pane iyi nhanho ndechekuti ini ndakagadzira yechipiri folda mukati meiyo yatovepo bot folda. Kero yefaira yaiita kunge */bot/bot/index.js
Ndakasarudza kufuratira dambudziko iri.
Uye kurodha telegraf raibhurari, yatinokumbira mumutsara wekutanga wekodhi, nyora iwo murairo mukoni.
npm install telegraf
8. Ungatanga sei bot
Kuti uite izvi, uri mufolda ine faira (kubva pane folda kuenda kune folda kuburikidza nekoni, mhanyisa iyo fomati yekuraira cd bot
Kuti uve nechokwadi chekuti uri paunofanira kunge uri, unogona kuisa murairo unozoratidza mukoni mafaera ese nemaforodha aripo. ls -a
Kuti nditange ndapinda muconsole
node index.js
Kana pasina kukanganisa, zvinhu zvose zvakanaka, bot iri kushanda. Mutsvage pateregiramu. Kana paine chikanganiso, shandisa ruzivo rwako kubva pane 1.
9. Nzira yekumhanyisa bot kumashure
Nekukurumidza iwe unozoona kuti bot inoshanda chete kana iwe pachako wakagara mukoni. Kugadzirisa dambudziko iri ndakashandisa murairo
screen
Mushure meizvi, skrini ine mamwe mavara ichaonekwa. Izvi zvinoreva kuti zvinhu zvose zvakanaka. Iwe uri pane virtual server pane cloud server. Kuti unzwisise zviri nani kuti zvese zvinoshanda sei -
node index.js
10. Iyo bot inoshanda sei uye kuti ungawedzera sei kushanda kwayo
Chii chinogona kuita muenzaniso wedu bot? Anogona
bot.start((ctx) => ctx.reply('Welcome!'))
iti "Welcome!" panguva yekutanga (edza kushandura zvinyorwa)
bot.help((ctx) => ctx.reply('Send me a sticker'))
mukupindura kune yakajairwa / rubatsiro kuraira, tumira meseji "Nditumirewo sticker"
bot.on('sticker', (ctx) => ctx.reply(''))
tumira mvumo uchipindura kune chinonamirwa
bot.hears('hi', (ctx) => ctx.reply('Hey there'))
pindura kuti "Hesi uko" kana vakanyora kuti "hi" kwaari
bot.launch()
Kana iwe ukatarisa kodhi pa ctx.replyWithPhoto
Iyo inokutendera kuti utumire yakatsanangurwa foto kana gif mukupindura kune yakatarwa mavara.
Chikamu chakakosha chekodhi chakanyorwa nevana vane makore 11-13, avo vandakapa mukana kune bot. Vakapinda muuser-case yavo. Ndinofunga kuti zviri nyore kutaura kuti ndeipi chikamu chakagadzirwa navo.
Semuenzaniso, meseji "Jake" inogashira GIF ine ane mukurumbira hunhu kubva kuCartoon Adventure Time.
Kuti uwedzere bhoti mberi, unofanirwa kubatanidza keyboard, ona mienzaniso, semuenzaniso,
11. Nzira yekuvandudza kodhi uye kutangazve bot
Usakanganwa kuti iwe unofanirwa kugadzirisa kodhi kwete chete pagithub, asiwo pane server. Izvi zviri nyore kuita - kumisa bot (dzvanya ctrl+c),
- pinda mukoni uchiri muforodha yakanangwa, git pull
- tinotangisa bot zvakare nemurairo node index.js
END
Zvizhinji zvezvinhu zvinotsanangurwa mufaira iri zvichave zviri pachena kune vepamberi programmers. Nekudaro, ini pachangu pandakaedza kusvetukira pamusoro pemukana kuenda kunyika yemabhoti mune imwe yakawira pasi, ndakapotsa chaizvo gwara rakadaro. Nhungamiro isingapotse zvinhu zviri pachena uye zviri nyore kune chero nyanzvi yeIT.
Mune ramangwana, ndiri kuronga positi nezve maitiro ekuita yako yekutanga application paReactNative nenzira imwecheteyo, nyoresa!
Source: www.habr.com