Hage: sida loo sameeyo bot Telegram fudud ee JS ee bilawga barnaamijka

Waxa aan bilaabay in aan dhex galo adduunka IT-ga saddex toddobaad oo keliya ka hor. Dhab ahaantii, saddex toddobaad ka hor xitaa ma fahmin HTML syntax, iyo hordhacayga luuqadaha barnaamijyada waxay ku dhammaatay manhaj dugsiyeedka Pascal laga soo bilaabo 10 sano ka hor. Si kastaba ha ahaatee, waxaan go'aansaday inaan aado kaamka IT-ga, halkaas oo ay ku fiicnaan lahayd carruurta inay sameeyaan bot. Waxaan go'aansaday in ay aad u adag tahay.

Waxa bilaabmay safar dheer oo aan:

  • Waxaa la geeyey server-ka Cloud ee Ubuntu,
  • ka diiwaan gashan GitHub,
  • bartay JavaScript syntax aasaasiga ah,
  • akhri maqaallo badan oo Ingiriisi iyo Ruush ah,
  • ugu dambeyntii sameeyay bot,
  • Ugu dambayntii waxaan qoray maqaalkan.

Natiijadii u dambaysay waxay u ekayd sidan:

Hage: sida loo sameeyo bot Telegram fudud ee JS ee bilawga barnaamijka

Isla markiiba waxaan dhihi doonaa in tani ay tahay maqaal loogu talagalay bilawga - kaliya si loo fahmo sida loo sameeyo waxyaabaha aasaasiga ah ee xoqan.

Iyo sidoo kale - barnaamijyada horumarsan - kaliya si aad uga qosliso wax yar.

1. Sidee loogu qoraa koodka JS?

Waxa aan fahmay in ay mudan tahay in marka hore la fahmo ereyga afka. Doorashadu waxay ku dhacday JavaScript, sababtoo ah tillaabada xigta aniga waxay ahayd inaan ku abuuro codsi gudaha ReactNative. Waxaan ku bilaabay koorsada on Codecademy aad buuna ugu farxay. 7da maalmood ee ugu horeeya waa bilaash. Mashaariicda dhabta ah. Waxaan kula talin. Dhammaystirka waxay qaadatay ilaa 25 saacadood. Dhab ahaantii, dhammaanteed ma ahayn wax faa'iido leh. Tani waa waxa qaabka koorsadu u eg tahay iyo block ugu horreeya si faahfaahsan.

Hage: sida loo sameeyo bot Telegram fudud ee JS ee bilawga barnaamijka

2. Sidee loo diiwaangeliyaa bot?

Tani waxay i caawisay wax badan bilowgii Maqaalkan laga soo bilaabo blog-ka Archakov gaar ah. Bilawgiiba wuu qayilaa. Laakiin waxa ugu weyn ee jira ayaa ah tilmaamaha diiwaangelinta bot. Ma si fiican u qori karo, maadaama tani ay tahay qaybta ugu fudud, kaliya waxaan qori doonaa dulucda. Waxaad u baahan tahay inaad abuurto bot oo aad hesho API. Tan waxaa lagu sameeyaa bot kale - @BotFather. Ka hel telegramka, u qor, raac jidka fudud oo hel (badbaadin!) furaha API (tani waa tirooyin iyo xarfo). Waxay ku timid anfaca dambe.

Hage: sida loo sameeyo bot Telegram fudud ee JS ee bilawga barnaamijka

3. Sidee buu u eg yahay koodhka bot-ka?

Ka dib markii aan bartay maqaallada muddo dheer, waxaan ogaaday in ay mudan tahay in la isticmaalo nooc ka mid ah maktabadda (koodhka saddexaad ee qaabka moduleka) si aan looga walwalin barashada API Telegram iyo abuurista qaybo badan oo kood ah oo xoqan. Waxaan helay qaab-dhismeedka telegraaf, kaas oo loo baahnaa in si uun loogu xidho shay iyadoo la isticmaalayo npm ama dun. Tani waa qiyaas ahaan sida aan u fahmay markaa waxa geynta bot ka kooban yahay. halkan ku qosli Ma xumaan doono. Tusaalooyinka ku yaal bogga hoose ayaa i caawiyay inta lagu guda jiro abuuritaanka xiga ee bot:

Hage: sida loo sameeyo bot Telegram fudud ee JS ee bilawga barnaamijka

3. Sida loo abuuro server-kaaga daruuriga ah ee 100 rubles

Raadin badan ka dib, waxaan ogaaday in amarka 'npm' ee sawirka kore uu tixraacayo khadka taliska. Khadka amarku waa meel walba, laakiin si aad awood ugu yeelatid inaad fuliso, waxaad u baahan tahay inaad rakibto NodePackageManager. Dhibaatadu waxay ahayd in aan ku barnaamijka PixelBook la ChromeOS. Waxaan halkan kaga boodi doonaa qayb weyn oo ku saabsan sida aan u bartay Linux - inta badan waa faaruq oo aan loo baahnayn. Haddii aad leedahay Windows ama MacBook, waxaad hore u haysatay console.

Si kooban, waxaan ku rakibay Linux via Crostini.

Si kastaba ha noqotee, habka, waxaan ogaaday in bot-ku uu si joogto ah u shaqeeyo (oo aan ahayn kaliya marka kombuyuutarku ku jiro), waxaan u baahanahay server-ka daruuraha. Waxaan doortay vscale.io Waxaan qarash gareeyay 100 rubi oo waxaan iibsaday server-ka Ubuntu ugu jaban (fiiri sawirka).

Hage: sida loo sameeyo bot Telegram fudud ee JS ee bilawga barnaamijka

4. Sida loo diyaariyo server si uu u shaqeeyo bot

Taas ka dib, waxaan ogaaday inaan u baahanahay inaan sameeyo nooc ka mid ah galka server-ka kaas oo aan ku dhejin doono faylka qoraalka code. Si tan loo sameeyo, gudaha konsole (si toos ah ugu socodsii bogga internetka iyada oo loo marayo badhanka "Console Fur"), waxaan galay

mkdir bot

bot - tani waxay noqotay magaca galkayga. Intaa ka dib, waxaan rakibay npm iyo Node.js, taas oo ii ogolaan doonta inaan ka dib koodhka ka furo faylasha leh * .js

sudo apt update
sudo apt install nodejs
sudo apt install npm

Waxaan aad ugu talinayaa in la sameeyo isku xirka server-ka iyada oo loo marayo console-kaaga heerkan. Halkan buug Tani waxay kuu ogolaaneysaa inaad si toos ah ula shaqeyso server-ka iyada oo loo marayo console-ka kombiyuutarkaaga.

5. Sida loo qoro koodka botkaaga ugu horreeya.

Laakiin hadda waxay ii tahay uun daahfurid. Barnaamij kastaa waa uun khadadka qoraalka. Waxaa la gelin karaa meel kasta, oo lagu keydiyo kordhinta la rabo, waana taas. Waad quruxsan tahay. waan isticmaalay Atom, laakiin dhab ahaantii, kaliya waxaad ku qori kartaa qoraallada caadiga ah. Waxa ugu muhiimsan waa in la keydiyo faylka dambe ee kordhinta la rabo. Waa sida qoraal ku qor Word oo kaydiya.

Waxaan sameeyay fayl cusub, kaas oo aan galiyay koodhka tusaalaha ku yaal bogga telegraf oo aan ku kaydiyay faylka index.js (guud ahaan muhiim maaha in faylka loo magacaabo habkaas, laakiin tani waa caado). Muhiim - halkii aad ka ahaan lahayd BOT_TOKEN, geli furaha API-ga cutubka labaad.

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. Sida koodhka loogu dhejiyo server-ka github

Hadda waxaan u baahday inaan si uun ugu shubo koodhkan server-ka oo aan socodsiiyo. Tani waxay igu noqotay caqabad. Natiijo ahaan, dhib badan ka dib, waxaan ogaaday in ay sahlanaan doonto in lagu abuuro fayl github kaas oo kuu ogolaanaya inaad cusbooneysiiso koodka adoo isticmaalaya amar ku jira console. Waxaan ka diiwaan gashanaa akoon github oo sameeyey mashruuc cusub, meesha aan galiyay faylka. Taas ka dib, waxaan u baahday inaan ogaado sida loo dejiyo faylasha laga soo qaado akoonkayga (furan!) Server-ka ku jira galka bot (haddii aad si lama filaan ah uga tagtay, kaliya qor cd bot).

7. Sida faylasha loogu dhejiyo server-ka github qaybta 2

Waxaan u baahday inaan ku rakibo barnaamij server-ka ka soo dejisan kara faylasha git. Waxaan ku rakibay git server-ka anigoo ku qoraya console-ka

apt-get install git

Taas ka dib waxaan u baahday in aan habeeyo soo dejinta faylka. Si tan loo sameeyo, waxaan ku qoray khadka taliska

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

Natiijo ahaan, wax kasta oo ka yimid mashruuca waxaa lagu dhejiyay server-ka. Qaladka marxaladan ayaa ahaa in aan asal ahaan ka sameeyay gal labaad gudaha galka bot ee hore u jiray. Cinwaanka galka wuxuu u ekaa */bot/bot/index.js

Waxaan go'aansaday inaan iska indhatiro dhibaatadan.

Iyo inaad ku shubto maktabadda telegraf, oo aan ku codsaneyno safka koowaad ee koodhka, ku qor amarka console-ka.

npm install telegraf

8. Sida loo bilaabo bot

Si tan loo sameeyo, inta aad ku jirto galka faylka (si aad uga guurto galka ilaa galka iyada oo loo marayo console, socodsii amarka qaabka cd bot Si aad u hubiso inaad ku sugan tahay meesha aad u baahan tahay, waxaad geli kartaa amar ka soo muuqan doona console-ka dhammaan faylasha iyo faylalka jira ls -a

Si aan u bilaabo, waxaan galay console-ka

node index.js

Haddii aysan jirin qalad, wax walba waa fiican yihiin, bot ayaa shaqeynaya. Isaga ka raadi telegram. Haddii uu khalad jiro, ku dabaq aqoontaada barta 1.

9. Sida loo ordo bot gadaasha

Si dhakhso ah waxaad ogaan doontaa in botku uu shaqeeyo kaliya markaad laftaadu ku fadhido konsole-ka. Si aan u xalliyo dhibaatadan waxaan adeegsaday amarka

screen

Taas ka dib, shaashad qoraal ah ayaa soo bixi doonta. Tani waxay ka dhigan tahay wax walba waa hagaagsan yihiin. Waxaad ku jirtaa server dalwad ah oo ku yaal server-ka daruuraha. Si aad si fiican u fahamto sida ay dhammaan u shaqeeyaan - waa kan maqaalka. Kaliya u tag faylkaaga oo geli amarka si aad u bilowdo bot

node index.js

10. Sida bot-ku u shaqeeyo iyo sida loo ballaariyo shaqadiisa

Muxuu samayn karaa tusaalaheena bot? Wuu awoodaa

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

dheh "soo dhawoow!" bilawga (isku day inaad badasho qoraalka)

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

adigoo ka jawaabaya amarka caadiga ah/caawinta, u dir fariinta "Ii dir warqad dhejis ah"

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

u dir ogolaansho si ay uga jawaabto istiikaro

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

ku jawaab "Haye halkaas" hadday u qoraan "hi" isaga
bot.launch()

Hage: sida loo sameeyo bot Telegram fudud ee JS ee bilawga barnaamijka

Haddii aad eegto koodka github, markaa waxaad si dhakhso ah u fahmi doontaa inaanan aad uga fogayn shaqadan. Waxa si firfircoon loo isticmaalo waa shaqada ctx.replyWithPhoto Waxay kuu ogolaanaysaa inaad dirto sawir gaar ah ama gif oo ka jawaabaya qoraal gaar ah.

Qayb muhiim ah oo ka mid ah koodka waxaa qoray carruurta da'doodu u dhaxayso 11-13, kuwaas oo aan siiyey gelitaanka bot-ka. Waxay galeen kiiskooda isticmaale. Waxaan filayaa inay fududahay in la sheego qaybta ay sameeyeen.

Tusaale ahaan, fariinta "Jake" waxay heli doontaa GIF oo leh jilaa caan ah oo ka timid Kartoonka Adventure Time.

Hage: sida loo sameeyo bot Telegram fudud ee JS ee bilawga barnaamijka

Si aad u horumariso bot-ka, waxaad u baahan tahay inaad ku xidho kiiboodhka, eeg tusaalooyinka, tusaale ahaan, halkan

11. Sida loo cusboonaysiiyo koodka oo dib loo bilaabo bot-ka

Ha iloobin inaad u baahan tahay inaad cusboonaysiiso koodhka ma aha oo kaliya github, laakiin sidoo kale server-ka. Tani way fududahay in la sameeyo - jooji bot-ka (riix ctrl+c),

- Geli console inta aad ku jirto galka bartilmaameedka, git pull
- Waxaan mar labaad ku bilownay bot-ka amarka node index.js

END

Waxyaabo badan oo lagu sifeeyay faylkan ayaa si aad ah ugu muuqan doona barnaamijyada horumaray. Si kastaba ha ahaatee, markii aan nafteyda isku dayay in aan ka boodo qulqulka adduunka bots-ka hal mar, run ahaantii waxaan u xiisay hagaha noocaas ah. Hage aan seegin waxyaalaha muuqda oo u fudud qof kasta oo IT-ga ku takhasusay.

Mustaqbalka, waxaan qorsheynayaa qoraal ku saabsan sida loo sameeyo codsigaaga ugu horreeya ReactNative qaab isku mid ah, isdiiwaangeli!

Source: www.habr.com

Add a comment