Aloin uppoutua IT-maailmaan vasta kolme viikkoa sitten. Vakavasti, kolme viikkoa sitten en edes ymmärtänyt HTML-syntaksia, ja ohjelmointikielten johdannoni päättyi 10 vuoden takaiseen Pascal-koulun opetussuunnitelmaan. Päätin kuitenkin mennä IT-leirille, jossa olisi kiva lasten tehdä botti. Päätin, että se tuskin on niin vaikeaa.
Tästä alkoi pitkä matka, jossa minä:
- otti käyttöön pilvipalvelimen Ubuntun kanssa,
- rekisteröity GitHubiin,
- oppinut JavaScriptin perussyntaksin,
- lukea paljon artikkeleita englanniksi ja venäjäksi,
- vihdoin teki botin,
- Kirjoitin vihdoin tämän artikkelin.
Lopputulos näytti tältä:
Sanon heti, että tämä on artikkeli aloittelijoille - vain ymmärtääkseni, kuinka perusasiat tehdään tyhjästä.
Ja myös - edistyneille ohjelmoijille - vain saadakseen heidät nauramaan.
1. Kuinka kirjoittaa koodia JS:ssä?
Ymmärsin, että kannattaa ensin ymmärtää ainakin kielen syntaksi. Valinta putosi JavaScriptiin yksinkertaisesti siksi, että seuraava askel minulle oli sovelluksen luominen ReactNativessa. Aloitin kanssa
2. Miten botti rekisteröidään?
Tämä auttoi minua paljon alussa
3. Miltä bot-koodi näyttää?
Pitkään tutkittuani artikkeleita ymmärsin, että kannattaa käyttää jonkinlaista kirjastoa (kolmannen osapuolen koodi moduulimuodossa), jotta ei tarvitsisi huolehtia Telegram API:n opiskelusta ja suurten koodipalojen luomisesta tyhjästä. Löysin puitteet
3. Kuinka luoda oma pilvipalvelin 100 ruplaa
Pitkän etsimisen jälkeen tajusin, että yllä olevan kuvan 'npm'-komento viittaa komentoriville. Komentorivi on kaikkialla, mutta jotta voit suorittaa sen, sinun on asennettava NodePackageManager. Ongelmana oli, että ohjelmoin PixelBookilla, jossa oli ChromeOS. Ohitan tässä suuren osan siitä, kuinka opin Linuxin - useimmille se on tyhjä ja tarpeeton. Jos sinulla on Windows tai MacBook, sinulla on jo konsoli.
Lyhyesti sanottuna asensin Linuxin Crostinin kautta.
Kuitenkin prosessin aikana ymmärsin, että tarvitsen pilvipalvelimen, jotta botti toimisi jatkuvasti (eikä vain tietokoneen ollessa päällä). minä valitsin
4. Kuinka valmistella palvelin ajamaan bottia
Sen jälkeen tajusin, että minun piti tehdä palvelimelle jonkinlainen kansio, johon laittaisin tiedoston kooditekstineen. Tätä varten kirjoitin konsoliin (suorita suoraan verkkosivustolla "Avaa konsoli" -painikkeen kautta)
mkdir bot
bot - tästä tuli kansioni nimi. Sen jälkeen asensin npm:n ja Node.js:n, joiden avulla voin suorittaa koodin tiedostoista *.js-resoluutiolla
sudo apt update
sudo apt install nodejs
sudo apt install npm
Suosittelen tässä vaiheessa yhteyden muodostamista palvelimeen konsolin kautta. Tässä
5. Kuinka kirjoittaa koodi ensimmäiselle bottillesi.
Mutta nyt se on minulle vain löytö. Mikä tahansa ohjelma on vain tekstirivejä. Ne voidaan lisätä mihin tahansa, tallentaa halutulla laajennuksella, ja siinä se. Sinä olet kaunis. käytin
Tein uuden tiedoston, johon laitoin telegraf-sivulla olevan esimerkin koodin ja tallensin sen index.js tiedostoon (yleensä tiedostoa ei tarvitse nimetä sillä tavalla, mutta tämä on tapana). Tärkeää - lisää API-avain toisesta kappaleesta BOT_TOKENin sijaan.
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. Kuinka ladata koodi palvelimelle githubin kautta
Nyt minun piti jotenkin ladata tämä koodi palvelimelle ja suorittaa se. Tästä tuli minulle haaste. Tämän seurauksena monien koettelemusten jälkeen tajusin, että olisi helpompi luoda githubiin tiedosto, jonka avulla voit päivittää koodin konsolin komennolla. Rekisteröin tilin
7. Kuinka ladata tiedostoja palvelimelle githubin osan 2 kautta
Minun piti asentaa palvelimelle ohjelma, joka lataa tiedostoja gitistä. Asensin git palvelimelle kirjoittamalla konsoliin
apt-get install git
Sen jälkeen minun piti määrittää tiedoston lataus. Tätä varten kirjoitin komentoriville
git clone git://github.com/b0tank/bot.git bot
Tämän seurauksena kaikki projektista ladattiin palvelimelle. Virhe tässä vaiheessa oli, että tein käytännössä toisen kansion jo olemassa olevan bot-kansion sisään. Tiedoston osoite näytti muodossa */bot/bot/index.js
Päätin jättää tämän ongelman huomioimatta.
Ja ladataksesi telegraf-kirjaston, jota pyydämme ensimmäisellä koodirivillä, kirjoita komento konsoliin.
npm install telegraf
8. Kuinka käynnistää botti
Voit tehdä tämän ollessasi kansiossa tiedoston kanssa (siirtyäksesi kansiosta kansioon konsolin kautta, suorita format-komento cd bot
Varmistaaksesi, että olet siellä, missä sinun on oltava, voit kirjoittaa komennon, joka näyttää konsolissa kaikki siellä olevat tiedostot ja kansiot ls -a
Aluksi astuin konsoliin
node index.js
Jos virhettä ei ole, kaikki on hyvin, botti toimii. Etsi häntä sähkeestä. Jos on virhe, käytä tietämystäsi kohdasta 1.
9. Kuinka käyttää bottia taustalla
Melko nopeasti huomaat, että botti toimii vain, kun itse istut konsolissa. Tämän ongelman ratkaisemiseksi käytin komentoa
screen
Tämän jälkeen näyttöön tulee tekstiä sisältävä näyttö. Tämä tarkoittaa, että kaikki on hyvin. Olet virtuaalipalvelimella pilvipalvelimella. Ymmärtääksesi paremmin, kuinka se kaikki toimii -
node index.js
10. Miten botti toimii ja miten sen toimintoja voidaan laajentaa
Mitä esimerkkibotimme voi tehdä? Hän voi
bot.start((ctx) => ctx.reply('Welcome!'))
sano "Tervetuloa!" aloitushetkellä (kokeile muuttaa tekstiä)
bot.help((ctx) => ctx.reply('Send me a sticker'))
vastauksena tavalliseen /help-komentoon, lähetä viesti "Lähetä minulle tarra"
bot.on('sticker', (ctx) => ctx.reply(''))
lähetä hyväksyntä vastauksena tarraan
bot.hears('hi', (ctx) => ctx.reply('Hey there'))
vastaa "Hei", jos he kirjoittavat hänelle "hei".
bot.launch()
Jos katsot koodia osoitteessa ctx.replyWithPhoto
Sen avulla voit lähettää tietyn kuvan tai gif-tiedoston vastauksena tiettyyn tekstiin.
Merkittävä osa koodista oli 11-13-vuotiaiden lasten kirjoittamia, joille annoin pääsyn bottiin. He tulivat sisään käyttäjätapaukseensa. Mielestäni on helppo sanoa, mikä osa on heidän valmistamansa.
Esimerkiksi viesti "Jake" saa GIF-kuvan, jossa on kuuluisa hahmo sarjakuvasta Adventure Time.
Botin kehittämiseksi edelleen sinun on yhdistettävä näppäimistö, katso esimerkkejä esim.
11. Kuinka päivittää koodi ja käynnistää botti uudelleen
Älä unohda, että sinun on päivitettävä koodi paitsi githubissa myös palvelimella. Tämä on helppo tehdä - pysäytä botti (paina ctrl+c),
- mene konsoliin ollessasi kohdekansiossa, git pull
- käynnistämme botin uudelleen komennolla node index.js
END
Monet tässä tiedostossa kuvatuista asioista ovat erittäin ilmeisiä edistyneille ohjelmoijille. Kuitenkin, kun itse yritin hypätä kuilun yli bottien maailmaan yhdellä iskulla, ikävöin todella tällaista opasta. Opas, joka ei unohda asioita, jotka ovat ilmeisiä ja yksinkertaisia kenelle tahansa IT-asiantuntijalle.
Tulevaisuudessa suunnittelen postauksen siitä, kuinka voit tehdä ensimmäisen hakemuksesi ReactNativessa samalla tyylillä, tilaa!
Lähde: will.com