Telegram bot ee xulashada maqaallada shakhsi ahaaneed ee Habr

Su'aalaha sida "sababta?" waxaa jira maqaal hore - Geektimes dabiiciga ah - samaynta meel nadiif ah.

Waxaa jira maqaallo badan, sababo macquul ah qaar ka mid ah ma jecli, qaarna, liddi ku ah, waa wax laga xumaado in la boodo. Waxaan jeclaan lahaa inaan wanaajiso habkan oo aan wakhti badbaadiyo.

Maqaalka sare wuxuu soo jeediyay hab qoraal-ku-gudbineed, laakiin runtii maan jeclayn (inkasta oo aan hore u isticmaalay) sababahan soo socda awgood:

  • Browserrada kala duwan ee ku jira kombiyuutarkaaga/taleefanka, waa inaad dib u habayso, haddii ay suurtogal tahay.
  • Kala shaandheynta adag ee qorayaashu mar walba ma habboona.
  • Dhibaatada ka haysata qorayaasha aadan rabin inaad seegto maqaaladooda, xitaa haddii ay daabacaan hal mar sannadkii, lama xalin.

Shaandhaynta lagu dhex dhisay goobta iyadoo lagu salaynayo qiimaynta maqaalku had iyo jeer maaha mid ku habboon, maadaama maqaallada aadka u khaaska ah, in kasta oo ay qiimeeyaan, ay heli karaan qiimayn dhexdhexaad ah.

Markii hore, waxaan rabay inaan soo saaro quudinta RSS (ama xitaa dhowr), oo kaliya waxyaabo xiiso leh halkaas. Laakiin ugu dambeyntii, waxay soo baxday in akhrinta RSS aysan u muuqan mid aad u habboon: xaalad kasta, si aad faallooyin / u codeyso maqaal / ku darto kuwa aad ugu jeceshahay, waa inaad dhex martaa browserka. Taasi waa sababta aan u qoray bot telegram oo qoraalo xiiso leh iigu soo diraya fariin shakhsi ah. Telegram lafteedu waxay ka samaysaa horudhacyo qurux badan, kuwaas oo, lagu daro macluumaadka qoraaga/qiimaynta/aragtiyada, u muuqda kuwo xog badan leh.

Telegram bot ee xulashada maqaallada shakhsi ahaaneed ee Habr

Hoos waxaa ku qoran faahfaahinta sida sifooyinka shaqada, habka qorista iyo xalalka farsamada.

Si kooban oo ku saabsan bot

Kaydka: https://github.com/Kright/habrahabr_reader

Bot ee telegram: https://t.me/HabraFilterBot

Isticmaaluhu wuxuu dejiyaa qiimeyn dheeri ah oo loogu talagalay tags iyo qorayaasha. Taas ka dib, filter ayaa lagu dabaqayaa maqaallada - qiimeynta maqaalka ee HabrΓ©, qiimeynta isticmaalaha qoraaga iyo celceliska qiimeynta isticmaalaha ee sumad ayaa lagu daray. Haddii qaddarku ka weyn yahay xadka isticmaaluhu cayimay, markaa maqaalku wuu gudbiyaa shaandhada.

Hadafka dhinaca qorista bot wuxuu ahaa in la helo madadaalo iyo waayo-aragnimo. Intaa waxaa dheer, waxaan si joogto ah naftayda u xasuusiyay taas Ma ihi Google, oo sidaas darteed waxyaabo badan ayaa loo qabtaa sida ugu fudud iyo xitaa hore ee suurtogalka ah. Si kastaba ha ahaatee, tani kama hor istaagin habka qorista bot-ka inuu qaato saddex bilood.

Waxay ahayd xagaaga dibadda

Luulyo way dhammaanaysay, waxaanan go'aansaday inaan qoro bot. Kelina ma aha, laakiin saaxiibkiis oo si fiican u yaqaan Scala oo doonayay inuu wax ku qoro. Bilawgii wuxuu u muuqday mid rajo leh - koodhka ayaa goyn doona koox, hawshu waxay u muuqatay mid sahlan waxaanan mooday in laba toddobaad ama bil gudaheed bot uu diyaar noqon doono.

In kasta oo xaqiiqda ah in aniga qudhaydu aan waqti ka waqti ku qori jiray koodka dhagaxa dhowrkii sano ee la soo dhaafay, qofna sida caadiga ah ma arko ama eego xeerkan: mashruucyada xayawaanka, tijaabinta fikradaha qaar, xogta horudhaca, maaraynta fikradaha qaar ka mid ah FP. Runtii aad ayaan u xiisaynayay waxa koodhka qorista ee kooxdu u eg tahay, sababtoo ah koodhka dhagaxa waxa loo qori karaa siyaabo aad u kala duwan.

Maxaa dhici karayey sidaas darteed? Si kastaba ha ahaatee, yeynan ku degdegin arrimaha.
Wax kasta oo dhaca waxaa lagu raad raaci karaa iyadoo la isticmaalayo taariikhda go'an.

Nin is-yaqaana ayaa abuuray kayd 27-kii Luulyo, laakiin waxba ma samayn, sidaas darteed waxaan bilaabay qorista koodka.

30 July

Si kooban: Waxaan qoray falanqaynta Habr's RSS feed.

  • com.github.pureconfig akhrinta typeafe waxay si toos ah u habaysaa fasallada kiiska (waxay u noqotay mid aad u habboon)
  • scala-xml xml akhrinta: maadaama markii hore aan rabay in aan qoro fulinta ii gaarka ah ee quudinta rss, rss feed waa xml, maktabadan ayaan u adeegsaday falanqaynta. Dhab ahaantii, falanqaynta RSS ayaa sidoo kale soo muuqatay.
  • scalatest imtixaanada. Xataa mashaariicda yaryar, imtixaannada qorista waxay kaydiyaan waqti - tusaale ahaan, marka la saxayo xml parsing, aad bay u fududahay in lagu soo dejiyo faylka, qor imtixaanada iyo saxida khaladaadka. Markii cilad ay mar dambe soo baxday iyadoo la kala saarayo html qariib ah oo wata xaraf utf-8 aan sax ahayn, waxay noqotay mid ku habboon in faylka la geliyo oo lagu daro imtixaan.
  • jilayaasha Akka. Ujeeddo ahaan, looma baahnayn haba yaraatee, laakiin mashruuca waxa loo qoray madadaalo, waxaan rabay in aan tijaabiyo. Natiijo ahaan, waxaan diyaar u ahay inaan sheego inaan ka helay. Fikradda OOP waxaa laga eegi karaa dhinaca kale - waxaa jira jilayaal farriimaha is dhaafsada. Waxa intaa ka sii xiisaha badan waa inaad (oo waa inaad) u qortaa kood si ay farriintu u iman weydo ama laga yaabo inaan la hawlgelin (guud ahaan, marka akoonku ku socdo hal kombuyuutar, farriimaha waa inaan la lumin). Markii hore madaxa ayaan xoqayay waxaana ku jiray qashin koodhka oo ay jilayaasha is qorayaan, laakiin ugu dambeyntii waxaan ku guuleystey inaan la imaado qaab dhismeedka fudud oo qurux badan. Koodhka ku dhex jira jilaa kasta waxa loo tixgalin karaa inuu yahay mid-hal-threaded; marka jilaagu shil galo, acca-ku dib ayuu u bilaabaa - natiijadu waa nidaam khalad ah oo dulqaad leh.

9 Aug

Waxaan ku daray mashruuca scala-scrapper si loo kala saaro boggaga html Habr (si looga saaro macluumaadka sida qiimeynta maqaalka, tirada bookmarks, iwm.).

Iyo Bisadaha. Kuwa dhagaxa ku jira.

Telegram bot ee xulashada maqaallada shakhsi ahaaneed ee Habr

Kadib waxaan akhriyay buug ku saabsan xog ururinta la qaybiyay, waxaan jeclaystay fikradda CRDT (nooca xogta la isku celceliyay ee xorta ah https://en.wikipedia.org/wiki/Conflict-free_replicated_data_type, habr), sidaa darteed waxaan dhejiyay nooc nooc ah koox-kooxeed isgaarsiineed si aan u helo macluumaadka ku saabsan maqaalka HabrΓ©.

Dhab ahaantii, fikradda waa mid aad u fudud - waxaan leenahay counters kuwaas oo isbedel monotonically. Tirada dalacsiinta ayaa si tartiib tartiib ah u koraysa, sida tirada pluses (iyo sidoo kale tirada laga jaray). Haddii aan haysto laba nooc oo macluumaad ah oo ku saabsan maqaal, markaa waxaan ku dari karaa "mid ka mid ah" - gobolka miiska ee ka weyn ayaa loo arkaa mid ku habboon.

Koox-kooxeed-kooban waxay ka dhigan tahay in laba shay oo macluumaad ku saabsan maqaal la isku dari karo. Commutative waxay ka dhigan tahay inaad isku dari karto labadaba A + B iyo B + A, natiijadu kuma xirna nidaamka, iyo dhamaadka nooca cusub ayaa ahaan doona. By habka, waxaa sidoo kale jira associativity halkan.

Tusaale ahaan, sida la qorsheeyay, rss ka dib falanqaynta waxay bixisay macluumaad yar oo daciif ah oo ku saabsan maqaalka - iyada oo aan lahayn qiyaaso sida tirada aragtida. Jilaa gaar ah ayaa markaa qaatay macluumaadka ku saabsan maqaallada oo u orday bogagga html si uu u cusbooneysiiyo oo uu ugu daro nuqulkii hore.

Guud ahaan, sida akka, ma jirin baahi loo qabo tan, waxaad si fudud u kaydin kartaa updateDate ee maqaalka oo aad qaadato mid cusub iyada oo aan la isku darin, laakiin waddada tacaburka ayaa ii horseeday.

12 Aug

Waxaan bilaabay inaan dareemo xoriyad, kaliya madadaalo, waxaan sheeko kasta ka dhigay jilaa gooni ah. Fikrad ahaan, jilaa laftiisa ayaa miisaankiisu yahay 300 bytes waxaana lagu abuuri karaa malaayiin, markaa tani waa hab caadi ah. Waxay ila tahay in xalku noqday mid xiiso leh:

Mid ka mid ah jilaa wuxuu ahaa buundo u dhaxaysa server-ka telegramka iyo nidaamka fariinta ee Akka. Waxa uu si fudud u helay farriimaha oo u diray jilaaga sheekaysiga ee la doonayo. Jilaaga sheekadu wuxuu soo celin karaa wax jawaab ah - waxaana dib loogu soo diri doonaa telegramka. Waxa aad u fudud in jilaagan uu u noqday mid fudud sida ugu macquulsan oo uu ku jiro kaliya macquulnimada ka jawaabista fariimaha. Jid ahaan, macluumaadka ku saabsan maqaallada cusub ayaa u yimid sheeko kasta, laakiin mar kale ma arko wax dhibaato ah tan.

Guud ahaan, bot-ku wuxuu horeyba u shaqeynayay, ka jawaabista farriimaha, kaydinta liiska maqaallada loo diro isticmaalaha, waxaanan horeyba u maleynayay in botku uu ku dhawaaday diyaar. Waxaan si tartiib tartiib ah ugu daray sifooyin yaryar sida caadiyeynta magacyada qoraaga iyo summada (beddelka "sd f" ee "s_d_f").

Hal shay ayaa hadhay yar laakiin - gobolka meelna laguma badbaadin.

Wax walba way khaldameen

Waxaa laga yaabaa inaad dareentay inaan qoray botka inta badan kali. Sidaa darteed, ka qaybgalaha labaad ayaa ku lug lahaa horumarinta, iyo isbeddellada soo socda ayaa ka muuqday code:

  • MongoDB waxay u muuqatay inay kaydiso gobolka. Isla mar ahaantaana, qormooyinka mashruuca waa la jebiyey, sababtoo ah sababaha qaar Monga wuxuu bilaabay inuu ku dhajiyo iyaga, dadka qaarna waxay si fudud u damiyeen adduunka.
  • Jilaaga buundada ee Telegram ayaa loo beddelay si ka baxsan aqoonsiga wuxuuna bilaabay laftiisa inuu farriimaha kala saaro.
  • Jilayaasha sheekeysiga ayaa si naxariis darro ah loo gooyay, taa beddelkeedana waxaa lagu beddelay jilaa oo qariyay dhammaan macluumaadka ku saabsan dhammaan sheekeysiga hal mar. Hidhis kasta, jilaagan ayaa galay dhibaato. Hagaag, haa, sida marka la cusbooneysiinayo macluumaadka ku saabsan maqaal, u dirida dhammaan jilayaasha wada sheekeysiga waa ay adag tahay (waxaan nahay sida Google, malaayiin isticmaalayaashu waxay sugayaan hal milyan oo maqaallo ku sheekeysiga mid kasta), laakiin mar kasta oo sheekada la cusbooneysiiyo, waa caadi in la galo Monga. Sida aan ogaaday in badan ka dib, caqli-galnimada shaqada ee wada-sheekeysiga ayaa sidoo kale gebi ahaanba la gooyay oo meesheedii wax aan shaqaynayn ayaa ka soo muuqday.
  • Ma jiraan wax raad ah oo ka hadhay fasallada nooca.
  • Qaar ka mid ah caqli-gal aan caafimaad qabin ayaa ka soo muuqday jilayaasha iyaga oo is-diiwaangaliyay midba midka kale, taasoo keentay xaalad jinsiyadeed.
  • Qaab dhismeedka xogta oo leh goobo nooca Option[Int] Waxay u rogtay Int oo leh qiyamka saxda ah ee sixirka sida -1. Ka dib waxaan xaqiiqsaday in mongoDB ay bakhaarto json oo aanay waxba ka jirin in lagu kaydiyo halkaas Option si fiican, ama ugu yaraan u kala saar -1 sida Midna, laakiin wakhtigaas ma aanan garanayn tan oo waxaan u qaatay ereygayga in "sidaas ay tahay inay ahaato." Ma aan qorin koodhkaas, kamana mashquulin beddelka wakhtigaas.
  • Waxaan ogaaday in ciwaanka IP-gayga guud uu u janjeero inuu beddelo, mar kastana waa inaan ku daraa liiska cad ee Mongo. Waxaan bilaabay bot-ka gudaha, Monga waxay ahayd meel ka mid ah server-yada Monga shirkad ahaan.
  • Si lama filaan ah, caadi ka dhigista tags iyo habaynta fariinta ee telegaraamyada ayaa la waayay. (Hmm, maxay taasi noqonaysaa?)
  • Waxaan jeclaystay in gobolka bot-ka lagu kaydiyo xog-ururin dibadeed, iyo markii dib loo bilaabo waxay sii wadaa inay u shaqeyso sidii iyadoo aan waxba dhicin. Si kastaba ha ahaatee, tani waxay ahayd waxa kaliya ee lagu daray.

Qofka labaad ma ahayn mid degdeg ah, oo dhammaan isbeddelladani waxay u muuqdeen hal tuulo oo horeba horaantii Sebtembar. Isla markiiba ma qaddarin baaxadda burburka ka dhashay oo waxaan bilaabay inaan fahmo shaqada xogta, sababtoo ah ... Weligay ka hor lama aan macaamilin. Kaliya mar dambe ayaan ogaaday inta koodka shaqada ee la jaray iyo inta cayayaanka lagu daray meesheeda.

Sebtembar

Markii hore waxaan u maleeyay inay faa'iido leedahay inaan barto Monga oo aan si fiican u sameeyo. Kadibna waxaan si tartiib tartiib ah u bilaabay inaan fahmo in abaabulida isgaadhsiinta xogta xogta ay sidoo kale tahay farshaxan aad ku samayn karto jinsiyado badan oo kaliya khaladaad. Tusaale ahaan, haddii isticmaaluhu uu helo laba farriimo sida /subscribe - iyo mid kasta oo ka jawaabaya waxaan ku abuuri doonaa galitaanka miiska, sababtoo ah wakhtiga habaynta fariimaha kuwa user ma la diiwaan gelin. Waxaan qabaa shaki ah in xiriirka Monga ee qaabka ay hadda tahay aan loo qorin sida ugu fiican. Tusaale ahaan, goobaha isticmaalaha waxa la sameeyay wakhtiga uu isqoray. Haddii uu isku dayay inuu beddelo iyaga ka hor xaqiiqda is-diiwaangelinta ... bot-ku waxba kama jawaabin, sababtoo ah koodhka jilaaga ayaa galay kaydka xogta ee goobaha, ma helin oo wuu burburay. Markii la weydiiyay sababta aan loo abuurin goobaha sida loogu baahan yahay, waxaan bartay in aysan jirin baahi loo qabo in la beddelo haddii isticmaaluhu uusan is-diiwaangelin ... Nidaamka shaandhaynta fariinta waxaa loo sameeyay si aan caddayn, xitaa ka dib markaan si dhow u eego koodka waan kari waayay ma fahmin in markii hore sidan loogu tala galay iyo inkale

Ma jirin liis maqaallo ah oo loo gudbiyay sheekeysiga, beddelkeeda, waxaa la ii soo jeediyay inaan aniga qudhaydu qoro. Tani waxay iga yaabisay - guud ahaan, anigu kama soo horjeedin in dhammaan noocyada kala duwan ee wax lagu jiido mashruuca, laakiin waxay noqon lahayd mid caqli-gal ah kii waxyaalahaas keenay ee ku dhuftay. Laakiin maya, ka qaybqaataha labaad wuxuu u muuqday inuu wax walba ka tanaasulay, laakiin wuxuu sheegay in liiska ku jira sheekadu ay tahay xal xun, waxaana lagama maarmaan ah in la sameeyo calaamad dhacdooyinka sida "maqaal y loo diray isticmaalaha x." Kadib, haddii isticmaaluhu uu codsado inuu soo diro maqaallo cusub, waxay ahayd lagama maarmaan in loo diro codsi database, kaas oo dooran doona dhacdooyinka la xidhiidha isticmaalaha dhacdooyinka, sidoo kale hel liiska maqaallo cusub, shaandheyn, u dir isticmaalaha. oo dhacdooyinka arrintan ku saabsan ku soo celi xogta kaydka

Ka qaybqaataha labaad waxaa loo qaaday meel ku wajahan abstractions, marka bot-ku uu heli doono ma aha oo kaliya maqaallo ka Habr oo loo diri ma aha oo kaliya in telegram.

Waxaan si uun u hirgeliyay dhacdooyinka qaab calaamad gaar ah qeybtii labaad ee Sebtembar. Ma fiicna, laakiin ugu yaraan bot-ku wuxuu bilaabay inuu shaqeeyo oo wuxuu bilaabay inuu ii soo diro maqaallo mar kale, waxaanan si tartiib ah u ogaaday waxa ka dhacaya koodhka.

Hadda waxaad dib ugu noqon kartaa bilowgii oo xusuusnow in kaydka aan asal ahaan aniga abuuray. Maxaa sidan ku dhici karayey? Codsiga jiidashadayda waa la diiday. Waxaa ii soo baxday in aan haysto koodhka cascas, oo aanan garanayn sida loo shaqeeyo koox, oo aan ku qasbo in aan hagaajiyo cilladaha qalooca hirgelinta hadda, oo aan u sifayn xaalad la isticmaali karo.

Waan xanaaqay oo waxaan eegay taariikhda ballan-qaadka iyo cadadka koodka qoran. Waxaan eegay daqiiqado markii hore si fiican loo qoray, ka dibna dhabarka laga jabiyay...

F*rk waa

Waxaan xusuustay maqaalkii Google ma tihid.

Waxaan is idhi qofna runtii fikrad uma baahna fulin la'aan. Waxaan u maleeyay in aan rabo in aan haysto bot shaqaynaysa, kaas oo ku shaqayn doona hal koobi hal kombuyuutar oo ah barnaamij fudud oo java ah. Waan ogahay in bot-kaygu uu shaqayn doono bilo iyada oo aan dib loo bilaabin, maadaama aan horeba u qoray bots sidan oo kale ah wakhti hore. Haddii ay si lama filaan ah u soo dhacdo oo aanay u soo dirin isticmaalaha maqaal kale, cirku dhulka kuma soo dhici doono, wax balaayo ahina ma dhacayso.

Waa maxay sababta aan ugu baahanahay Docker, mongoDB iyo cibaadada xamuulka kale ee software "khatar ah" haddii koodku si fudud u shaqeyn waayo ama uu u shaqeeyo si qalloocan?

Mashruucii waan fargeeray oo waxaan sameeyay wax walba sidii aan rabay.

Telegram bot ee xulashada maqaallada shakhsi ahaaneed ee Habr

Isla wakhtigaas, waxaan bedelay shaqooyinkii oo wakhtiga firaaqada ayaa noqday mid aad u maqan. Subaxdii waxaan toos uga toosay tareenka, fiidkii ayaan soo noqday goor dambe mana rabin inaan wax sameeyo. Waxba maan qaban in muddo ah, ka dib rabitaanka inaan dhammeeyo bot-ka ayaa iga xoog batay, waxaana bilaabay inaan si tartiib ah dib ugu qoro koodka markii aan u waday shaqada subaxdii. Ma odhan doono waxay ahayd mid wax soo saar leh: ku fadhiista tareen gariiraya oo laptop dhabtaada saaran yahay oo aad fiirinayso qulqulka badan ee taleefankaaga maahan mid ku haboon. Si kastaba ha ahaatee, wakhtiga lagu qaatay qorista code ayaa u duulay gebi ahaanba aan la dareemin, mashruucuna wuxuu bilaabay inuu si tartiib ah u socdo xaalad shaqo.

Meel ka mid ah gadaasha maskaxdayda waxaa jiray dirxi shaki ah oo doonayay inuu isticmaalo mongoDB, laakiin waxaan u maleeyay in marka lagu daro faa'iidooyinka kaydinta gobolka "lagu kalsoonaan karo", waxaa jiray faa'iido darrooyin la arki karo:

  • Xogta kaydku waxay noqotaa meel kale oo guuldarraysa.
  • Koodhku aad ayuu u adag yahay, waxayna igu qaadan doontaa waqti dheer inaan qoro.
  • Koodhku wuxuu noqdaa mid gaabis ah oo aan waxtar lahayn, halkii laga beddeli lahaa shay xusuusta ku jira, isbeddellada ayaa loo diraa kaydka macluumaadka oo, haddii loo baahdo, dib loo jiido.
  • Waxaa jira xaddidaadyo ku saabsan nooca kaydinta dhacdooyinka ee miis gaar ah, kuwaas oo la xidhiidha waxyaabaha gaarka ah ee kaydinta.
  • Nooca tijaabada ah ee Monga wuxuu leeyahay xoogaa xaddidaad ah, oo haddii aad ku dhex gasho, waa inaad bilowdo oo aad Monga ku habayso shay.

Waxaan gooyay monga, hadda bot's state si fudud ayaa loogu kaydiyaa xusuusta barnaamijka oo waqti ka waqti ayaa lagu keydiyaa faylka qaabka json. Waxaa laga yaabaa in faallooyinka ay ku qoraan inaan khaldanahay, in tani ay tahay meesha ay tahay in la isticmaalo xogta macluumaadka, iwm. Laakiin kani waa mashruucayga, habka feylku waa sida ugu fudud ee suurtogalka ah wuxuuna u shaqeeyaa si hufan.

Tuuray qiyamka sixirka sida -1 oo soo celiyay kuwii caadiga ahaa Option, lagu daray kaydinta miiska xashiishka oo ay ku jiraan maqaallo dib loogu celiyay shayga oo wata macluumaadka wada sheekaysiga. Tirtirka lagu daray macluumaadka ku saabsan maqaallada ka weyn shan maalmood, si aan loo kaydin wax walba. Waxaan keenay jarista xaalad shaqo - logu waxay ku qoran yihiin tiro macquul ah faylka iyo console-ka labadaba. Waxaa lagu daray dhowr amarro maamul sida badbaadinta gobolka ama helitaanka tirakoobka sida tirada isticmaaleyaasha iyo maqaallada.

Waxyaalo yar yar oo badan la dejiyay: tusaale ahaan, maqaallada tirada aragtiyaha, jeceylka, nacaybka iyo faallooyinka wakhtiga gudbinta shaandhada isticmaalaha hadda waa la tilmaamay. Guud ahaan, waxaa la yaab leh inta wax yar oo ay ahayd in la saxo. Waxaan hayaa liis, waxaan xusay dhammaan "wax-is-daba-marin" halkaas oo aan saxay intii suurtagal ah.

Tusaale ahaan, waxaan ku daray awoodda lagu dejiyo dhammaan goobaha si toos ah hal fariin:

/subscribe
/rating +20
/author a -30
/author s -20
/author p +9000
/tag scala 20
/tag akka 50

Iyo koox kale /settings iyaga oo si sax ah ugu soo bandhigay foomkan, waxaad ka qaadan kartaa qoraalka oo dhan u diri kartaa saaxiib.
Waxay u muuqataa wax yar, laakiin waxaa jira daraasiin nuances la mid ah.

Shaandhaynta maqaalka la hirgeliyay ee qaab fudud oo toosan - isticmaaluhu wuxuu dejin karaa qiimeyn dheeri ah oo loogu talagalay qorayaasha iyo tagsyada, iyo sidoo kale qiimaha bilowga. Haddii wadarta qiimeynta qoraaga, celceliska qiimeynta tags-ka iyo qiimeynta dhabta ah ee maqaalku ay ka weyn tahay qiimaha bilowga, markaa maqaalka waxaa loo tusi doonaa isticmaalaha. Waxaad waydiisan kartaa bot-ka maqaallo leh amarka /cusub, ama waxaad iska qori kartaa bot-ka waxayna soo diri doontaa maqaallo fariin shakhsi ah wakhti kasta oo maalinta ah.

Guud ahaan, waxaan lahaa fikrad ah in maqaal kastaa ka soo saaro sifooyin badan (xarumaha, tirada faallooyinka, bookmarks, dhaqdhaqaaqa isbeddelka qiimeynta, qadarka qoraalka, sawirada iyo koodka maqaalka, ereyada muhiimka ah), oo tus isticmaalaha ok/ ma ok u codee hoos maqaal kasta oo tababar model user kasta, laakiin waxaan ahaa mid caajis ah.

Intaa waxaa dheer, macquulnimada shaqadu ma noqon doonto mid cad. Hadda waxaan gacanta ku dejin karaa qiimeynta +9000 bukaanka Zero iyo heerka ugu hooseeya ee +20 waxaa la ii dammaanad qaadi doonaa inaan helo dhammaan maqaaladiisa (haddii aan, dabcan, aan dhigay -100500 tags qaar ka mid ah).

Nashqada ugu dambeysa waxay noqotay mid fudud:

  1. Jilaa kaydiya xaalada dhamaan sheekeysiga iyo maqaalada Waxay ka soo dejinaysaa xaaladdeeda fayl ku jira saxanka waxayna dib u kaydisaa waqti ka waqti, mar kasta oo fayl cusub.
  2. Jilaa soo booqda RSS-ka waqti ka waqti, barta maqaallo cusub, eegaa isku-xirayaasha, kala-baxa, oo u soo dira maqaalladan jilaagii ugu horreeyay. Intaa waxaa dheer, waxay mararka qaarkood ka codsataa liiska maqaallada jilaagii ugu horreeyay, waxay doortaa kuwa aan ka weynayn saddex maalmood, laakiin aan la cusbooneysiin wakhti dheer, oo cusbooneysiiya.
  3. Jilaa ku hadla telegram. Weli waxaan keenay dhambaalka falanqaynta gebi ahaanba halkan. Si naxariis leh, waxaan jeclaan lahaa inaan u kala qaybiyo laba - si mid ka mid ah u kala saaro fariimaha soo socda, kan labaadna wuxuu ka hadlayaa dhibaatooyinka gaadiidka sida dib-u-diridda fariimaha aan la dirin. Hadda ma jirto dib-u-diritaan, iyo fariin aan u iman khalad dartiis ayaa si fudud u lumi doonta (haddii aan lagu qorin qoraallada), laakiin ilaa hadda taasi wax dhibaato ah ma keenin. Waxaa laga yaabaa in dhibaatooyin ay soo baxaan haddii dad badan ay iska diiwaan galiyaan bot-ka oo aan gaaro xadka farriimaha diraya).

Waxa aan jeclaystay ayaa ah in ay mahad leh, ay dhacdo jilayaasha 2 iyo 3 guud ahaan ma saameeyaan waxqabadka bot-ka. Waxaa laga yaabaa in maqaallada qaarkood aan la cusboonaysiin waqtigii loogu talagalay ama fariimaha qaarkood aysan gaarin telegram-ka, laakiin akoonku wuxuu dib u bilaabayaa jilaa wax walbana wuu sii wadaa inuu shaqeeyo. Waxaan kaydiyaa macluumaadka ah in maqaalka la tuso isticmaalaha kaliya marka jilaaga telegram-ka uu ka jawaabo inuu si guul leh u gaarsiiyay fariinta. Waxa ugu xun ee igu hanjaba waa in aan dhowr jeer diro fariinta (haddii la keeno, laakiin xaqiijintu si uun bay u luntay). Mabda 'ahaan, haddii actorka ugu horreeya uusan ku kaydin gobolka naftiisa, laakiin uu la xiriiro qaar ka mid ah xogta, ka dibna wuxuu sidoo kale ku dhici karaa si aan macquul ahayn oo uu dib ugu soo laaban karaa nolosha. Waxaan sidoo kale isku dayi karaa in aan ku adkaysto in aan dib u soo celiyo xaaladda jilayaasha, laakiin hirgelinta hadda waxay igu habboon tahay fududaanteeda. Ma aha in koodkaygu marar badan shil galay - taa lidkeeda, waxaan dadaal badan geliyay sidii aan u suurtogelin lahaa. Laakiin shit way dhacdaa, iyo awoodda lagu jebin karo barnaamijka qaybo go'doon ah - jilayaasha ayaa runtii ii muuqday mid ku habboon oo waxtar leh.

Waxaan ku daray Circle-ci si haddii koodku jabo, isla markiiba aad ogaan doonto. Ugu yaraan, waxay la macno tahay in koodka uu joojiyay ururinta. Markii hore waxaan rabay inaan ku daro travis, laakiin waxay muujisay kaliya mashaariicdayda iyada oo aan lahayn fargeeto. Guud ahaan, labadan shay ayaa si xor ah loogu isticmaali karaa kaydka furan.

Natiijooyinka

Horay waa Noofembar. Botka waa qoran yahay, waxaan isticmaalayay labadii toddobaad ee ugu dambeeyay waanan ka helay. Haddii aad hayso fikrado lagu hagaajinayo, qor. Ma arko danta laga leeyahay lacag-ururinta - ha shaqeyso oo ha soo dirto maqaallo xiiso leh.

Bot link: https://t.me/HabraFilterBot
Github: https://github.com/Kright/habrahabr_reader

Gabagabo yar:

  • Xitaa mashruuc yar wuxuu qaadan karaa waqti badan.
  • Ma tihid Google Wax macno ah ma leh in shimbirro laga soo toogto madfaca. Xalka fudud ayaa sidoo kale u shaqayn kara.
  • Mashaariicda xayawaanku aad bay ugu fiican yihiin tijaabinta tignoolajiyada cusub.
  • Bots-ka Telegram si fudud ayaa loo qoraa. Haddii aysan ahayn "shaqaale kooxeed" iyo tijaabinta tignoolajiyada, bot-ka waxaa lagu qori lahaa hal usbuuc ama laba toddobaad.
  • Qaabka jilaaga waa shay xiiso leh oo si fiican ula socda koodka-xadhka badan iyo khaladka-dulqaadka.
  • Waxaan filayaa in aan dhadhansaday sababta bulshada isha furan u jeceshahay fargeeto.
  • Database-yadu waa wanaagsan yihiin sababtoo ah codsiga codsiga kuma xirna shilalka codsiga/dib u bilaabashada, laakiin la shaqaynta xogta waxay adkeynaysaa koodka waxayna ku soo rogaysaa xaddidaad qaab dhismeedka xogta.

Source: www.habr.com

Add a comment