Kuring mimiti immersing sorangan di dunya IT ngan tilu minggu ka tukang. Serius, tilu minggu ka tukang kuring henteu ngartos sintaksis HTML, sareng perkenalan kuring kana basa pamrograman ditungtungan ku kurikulum sakola ngeunaan Pascal ti 10 taun ka pengker. Najan kitu, kuring mutuskeun pikeun buka hiji camp IT, dimana eta bakal nice pikeun barudak nyieun bot a. Kuring mutuskeun yén éta boro hésé.
Ieu ngamimitian perjalanan panjang dimana kuring:
- nyebarkeun server awan sareng Ubuntu,
- didaptarkeun dina GitHub,
- diajar sintaksis JavaScript dasar,
- maca ton artikel dina basa Inggris sareng Rusia,
- ahirna nyieun bot,
- Kuring tungtungna nulis artikel ieu.
Hasil ahir katingali sapertos kieu:
Kuring bakal langsung nyarios yén ieu mangrupikeun tulisan pikeun pamula - ngan ukur ngartos kumaha ngalakukeun hal dasar ti mimiti.
Sareng ogé - pikeun programer canggih - ngan ukur ngajantenkeun aranjeunna seuri sakedik.
1. Kumaha cara nyerat kode dina JS?
Kuring ngarti yén éta patut sahenteuna ngartos sintaksis basa munggaran. Pilihan murag kana JavaScript, ngan kusabab lengkah saterusna pikeun kuring nya éta nyieun hiji aplikasi dina ReactNative. Kuring dimimitian ku
2. Kumaha carana ngadaptar bot?
Ieu mantuan kuring pisan di awal
3. Kumaha carana sangkan kode bot?
Saatos ngulik tulisan pikeun waktos anu lami, kuring sadar yén éta patut ngagunakeun sababaraha jinis perpustakaan (kode pihak katilu dina format modul) ku kituna henteu kedah hariwang ngeunaan diajar API Telegram sareng nyiptakeun potongan kode anu ageung ti mimiti. Kuring manggihan kerangka
3. Kumaha carana nyieun server awan sorangan pikeun 100 rubles
Saatos seueur milarian, kuring sadar yén paréntah 'npm' dina gambar di luhur ngarujuk kana garis paréntah. Garis paréntah aya dimana-mana, tapi pikeun ngalaksanakeunana, anjeun kedah masang NodePackageManager. Masalahna éta kuring program dina PixelBook sareng ChromeOS. Kuring bakal skip dieu blok badag ngeunaan kumaha kuring diajar Linux Ubuntu - pikeun kalolobaan éta kosong tur teu perlu. Upami anjeun gaduh Windows atanapi MacBook, anjeun parantos gaduh konsol.
Sacara ringkes, kuring masang Linux liwat Crostini.
Nanging, dina prosésna, kuring sadar yén pikeun bot tiasa dianggo terus-terusan (teu ngan ukur nalika komputer kuring hurung), kuring peryogi server awan. Abdi milih
4. Kumaha nyiapkeun server pikeun ngajalankeun bot
Saatos éta, kuring sadar yén kuring kedah ngadamel sababaraha jinis folder dina server dimana kuring bakal nempatkeun file sareng téks kode. Jang ngalampahkeun ieu, dina konsol (ngajalankeun langsung dina ramatloka ngaliwatan tombol "Open Console"), kuring asup
mkdir bot
bot - ieu janten nami folder kuring. Sanggeus éta, abdi dipasang npm na Node.js, nu bakal ngidinan kuring lajeng ngajalankeun kode tina file kalawan * .js resolusi
sudo apt update
sudo apt install nodejs
sudo apt install npm
Abdi nyarankeun pisan nyetél sambungan ka server ngaliwatan konsol anjeun dina tahap ieu. Ieuh
5. Kumaha carana nulis kode pikeun bot munggaran anjeun.
Tapi ayeuna éta ngan hiji pamanggihan keur kuring. Program naon waé ngan ukur garis téks. Éta tiasa diselapkeun dimana waé, disimpen kalayan ekstensi anu dipikahoyong, sareng éta. Anjeun geulis. Kuring dipaké
Kuring nyieun file anyar, nu kuring diselapkeun kode tina conto dina kaca telegraf tur disimpen dina file index.js (sacara umum teu perlu ngaranan file ku cara éta, tapi ieu téh adat). Penting - tibatan BOT_TOKEN, selapkeun konci API anjeun tina paragraf kadua.
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. Kumaha carana unggah kode ka server via github
Ayeuna kuring kedah kumaha waé unggah kode ieu ka server sareng ngajalankeunana. Ieu janten tantangan pikeun kuring. Hasilna, sanggeus loba cobaan, abdi sadar yen eta bakal leuwih gampang nyieun file on github nu ngidinan Anjeun pikeun ngapdet kode ngagunakeun paréntah dina konsol nu. Kuring ngadaptar hiji akun dina
7. Kumaha carana unggah file ka server via github bagian 2
Abdi peryogi masang program dina server anu bakal ngaunduh file tina git. Kuring dipasang git dina server ku ngetikkeun kana konsol nu
apt-get install git
Saatos éta kuring kedah ngonpigurasikeun unggah file. Jang ngalampahkeun ieu, kuring ngetik kana garis paréntah
git clone git://github.com/b0tank/bot.git bot
Hasilna, sagalana ti proyék ieu diunggah ka server. Kasalahan dina tahap ieu nyaéta kuring dasarna ngadamel folder kadua di jero folder bot anu parantos aya. Alamat kana file kasampak kawas */bot/bot/index.js
Kuring mutuskeun pikeun malire masalah ieu.
Sareng pikeun ngamuat perpustakaan telegraf, anu urang nyuhunkeun dina baris kahiji kode, ketik paréntah kana konsol.
npm install telegraf
8. Kumaha ngajalankeun bot
Jang ngalampahkeun ieu, bari dina polder sareng file (pikeun mindahkeun tina polder ka polder via konsol, jalankeun paréntah format cd bot
Pikeun mastikeun yén anjeun dimana anjeun kedah, anjeun tiasa ngalebetkeun paréntah anu bakal ditingalikeun dina konsol sadaya file sareng polder anu aya. ls -a
Pikeun ngamimitian, kuring asup kana konsol
node index.js
Upami teu aya kasalahan, sadayana henteu kunanaon, bot damel. Pilari anjeunna dina telegram. Upami aya kasalahan, larapkeun pangaweruh anjeun ti titik 1.
9. Kumaha ngajalankeun bot di tukang
Rada gancang anjeun bakal nyadar yén bot ngan jalan mun anjeun sorangan linggih dina konsol nu. Pikeun ngajawab masalah ieu kuring dipaké paréntah
screen
Saatos ieu, layar sareng sababaraha téks bakal muncul. Ieu hartosna sadayana saé. Anjeun dina server maya dina server awan. Pikeun ngartos langkung saé kumaha éta sadayana jalan -
node index.js
10. Kumaha bot jalan na kumaha rék dilegakeun pungsionalitasna
Naon anu tiasa dilakukeun ku conto bot urang? Manehna bisa
bot.start((ctx) => ctx.reply('Welcome!'))
ucapkeun "Wilujeng sumping!" dina momen mimiti (coba ngarobah téks)
bot.help((ctx) => ctx.reply('Send me a sticker'))
pikeun ngabales paréntah standar / pitulung, kirimkeun pesen "Kirimkeun kuring stiker"
bot.on('sticker', (ctx) => ctx.reply(''))
ngirim persetujuan dina respon kana stiker
bot.hears('hi', (ctx) => ctx.reply('Hey there'))
ngajawab "Hei aya" lamun maranéhna nulis "hi" ka anjeunna
bot.launch()
Lamun nempo kode di ctx.replyWithPhoto
Éta ngamungkinkeun anjeun ngirim poto atanapi gif anu khusus pikeun ngaréspon kana téks anu khusus.
Bagian signifikan tina kode ieu ditulis ku barudak umur 11-13, ka saha kuring masihan aksés ka bot. Aranjeunna diasupkeun pamaké-kasus maranéhanana. Jigana éta gampang pikeun ngabejaan bagian mana anu dijieun ku aranjeunna.
Salaku conto, pesen "Jake" bakal nampi GIF kalayan karakter anu kasohor tina kartun Adventure Time.
Pikeun ngembangkeun bot langkung jauh, anjeun kedah nyambungkeun keyboard, tingali conto, contona,
11. Kumaha carana ngapdet kode jeung balikan deui bot
Tong hilap yén anjeun kedah ngapdet kodeu sanés ngan ukur dina github, tapi ogé dina server. Ieu gampang dilakukeun - ngeureunkeun bot (pencét ctrl + c),
- asupkeun kana konsol bari dina folder target, git pull
- urang ngajalankeun bot deui kalayan paréntah node index.js
TUNGTUNG
Seueur hal anu dijelaskeun dina file ieu bakal écés pisan pikeun programer maju. Najan kitu, nalika kuring sorangan nyoba luncat ngaliwatan chasm ka dunya bot dina hiji swoop murag, Kuring bener sono pituduh misalna. Pituduh anu henteu sono kana hal-hal anu atra sareng saderhana pikeun spesialis IT.
Dina mangsa nu bakal datang, Kuring keur perencanaan hiji pos ngeunaan kumaha carana sangkan aplikasi munggaran anjeun dina ReactNative dina gaya anu sarua, ngalanggan!
sumber: www.habr.com