I-Telegraph bot yokukhethwa komuntu siqu kwama-athikili avela ku-Habr

Ngemibuzo efana nokuthi "kungani?" kukhona isihloko esidala - Izikhathi Zemvelo Zemvelo - ukwenza isikhala sihlanzeke.

Kunezihloko eziningi, ngenxa yezizathu ezizimele ezinye zazo angizithandi, kanti ezinye, ngokuphambene nalokho, kuwusizi ukweqa. Ngingathanda ukuthuthukisa le nqubo futhi ngisindise isikhathi.

I-athikili engenhla iphakamise indlela ye-in-browser scripting, kodwa angizange ngiyithande (yize ngike ngayisebenzisa ngaphambili) ngenxa yezizathu ezilandelayo:

  • Ezipheqululini ezihlukene kukhompyutha/ocingweni lwakho, kufanele uyilungiselele futhi, uma kungenzeka.
  • Ukuhlunga okuqinile ngababhali akulula ngaso sonke isikhathi.
  • Inkinga ngababhali ongafuni ukuphuthelwa izindatshana zabo, noma ngabe zishicilelwa kanye ngonyaka, ayikaxazululwa.

Ukuhlunga okwakhelwe kusayithi ngokusekelwe ezilinganisweni zendatshana akulula ngaso sonke isikhathi, njengoba ama-athikili akhethekile, naphezu kwenani lawo, angathola ukukala okunesizotha.

Ekuqaleni, bengifuna ukukhiqiza okuphakelayo kwe-RSS (noma okuningana), ngishiya izinto ezithakazelisayo kuphela lapho. Kodwa ekugcineni, kwavela ukuthi ukufunda i-RSS akuzange kubonakale kulula kakhulu: kunoma yikuphi, ukubeka amazwana / ukuvotela isihloko / ukuyengeza ezintandokazi zakho, kufanele udlule esipheqululini. Yingakho ngibhale i-telegram bot ethumela izihloko ezithakazelisayo kimi ngomlayezo womuntu siqu. I-Telegraph ngokwayo yenza ukubuka kuqala okuhle kuzo, okuthi, kuhlanganiswe nolwazi mayelana nombhali/izilinganiso/ukubuka, kubukeke kunolwazi impela.

I-Telegraph bot yokukhethwa komuntu siqu kwama-athikili avela ku-Habr

Ngezansi kokusikwa kunemininingwane efana nezici zomsebenzi, inqubo yokubhala kanye nezixazululo zobuchwepheshe.

Kafushane mayelana ne-bot

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

I-Bot ku-telegram: https://t.me/HabraFilterBot

Umsebenzisi usetha isilinganiso esengeziwe samathegi nababhali. Ngemuva kwalokho, kusetshenziswa isihlungi kuma-athikili - isilinganiso se-athikili ku-Habré, isilinganiso somsebenzisi sombhali kanye nesilinganiso sezilinganiso zomsebenzisi ngomaki siyengezwa. Uma inani likhulu kunomkhawulo oshiwo umsebenzisi, i-athikili izodlula isihlungi.

Umgomo oseceleni wokubhala i-bot kwakuwukuthola ubumnandi nolwazi. Ngaphezu kwalokho, ngangihlale ngizikhumbuza lokho Angiyena u-Google, ngakho-ke izinto eziningi zenziwa kalula futhi ngisho nezindala ngangokunokwenzeka. Kodwa-ke, lokhu akuzange kuvimbele inqubo yokubhala i-bot ukuthi ithathe izinyanga ezintathu.

Kwakuyihlobo ngaphandle

UJulayi wayephela, futhi nganquma ukubhala i-bot. Futhi hhayi yedwa, kodwa nomngane owayefunda kahle i-scala futhi efuna ukubhala okuthile kuso. Isiqalo sasibukeka sithembisa - ikhodi izosikwa yiqembu, umsebenzi wawubonakala ulula futhi ngacabanga ukuthi emasontweni ambalwa noma ngenyanga i-bot izobe isilungile.

Naphezu kweqiniso lokuthi mina ngokwami ​​bengilokhu ngibhala ikhodi edwaleni ngezikhathi ezithile eminyakeni embalwa edlule, akekho ovame ukubona noma ukubuka le khodi: amaphrojekthi ezilwane ezifuywayo, ukuhlola imibono ethile, ukucubungula idatha, ukuqonda imiqondo ethile evela ku-FP. Nganginesithakazelo ngempela ekutheni ikhodi yokubhala eqenjini ibukeka kanjani, ngoba ikhodi edwaleni ingabhalwa ngezindlela ezihluke kakhulu.

Yini eyayingahamba kanjalo? Nokho, masingajahi izinto.
Konke okwenzekayo kungalandelelwa kusetshenziswa umlando wokuzibophezela.

Umuntu engimaziyo udale inqolobane ngoJulayi 27, kodwa akenzanga lutho olunye, ngakho ngaqala ukubhala ikhodi.

30 Julayi

Kafushane: Ngibhale ukudluliswa kokuphakelayo kwe-rss ka-Habr.

  • com.github.pureconfig ukufunda i-typesafe ilungiselela ngokuqondile amakilasi wecala (kuvele ukuthi kulula kakhulu)
  • scala-xml ukufunda i-xml: njengoba ekuqaleni bengifuna ukubhala ukuqaliswa kwami ​​​​kokuphakelayo kwe-rss, futhi okuphakelayo kwe-rss kukufomethi ye-xml, ngisebenzise lomtapo wolwazi ukuze ngihlukanise. Empeleni, ukuncozululwa kwe-RSS nakho kwavela.
  • scalatest zokuhlolwa. Ngisho kumaphrojekthi amancane, ukuhlolwa kokubhala konga isikhathi - isibonelo, lapho ususa iphutha ekuhlukaniseni i-xml, kulula kakhulu ukuyilanda efayelini, ukubhala izivivinyo nokulungisa amaphutha. Lapho kamuva kuvela iphutha ngokuhlukanisa i-html ethile engajwayelekile enezinhlamvu ze-utf-8 ezingavumelekile, kuvele kwaba lula kakhulu ukuyibeka efayelini nokwengeza isivivinyo.
  • abadlali abavela e-Akka. Ngenhloso, babengadingeki nhlobo, kodwa iphrojekthi yayibhalelwe ukuzijabulisa, ngangifuna ukuyizama. Ngenxa yalokho, ngikulungele ukusho ukuthi ngiyithandile. Umbono we-OOP ungabhekwa ngakolunye uhlangothi - kukhona abadlali abashintshana imiyalezo. Okuthakazelisa kakhulu ukuthi ungakwazi (futhi kufanele) ubhale ikhodi ngendlela yokuthi umlayezo ungase ungafiki noma ungacutshungulwa (ngokuvamile, uma i-akhawunti isebenza kukhompyutha eyodwa, imilayezo akufanele ilahleke). Ekuqaleni nganginwaya ikhanda futhi kwakukhona udoti kukhodi nabadlali ababhalisela omunye nomunye, kodwa ekugcineni ngakwazi ukuqhamuka nesakhiwo esilula nesinhle. Ikhodi engaphakathi komlingisi ngamunye ingathathwa njengochungechunge olulodwa; lapho umlingisi ephahlazeka, i-acca iyiqala kabusha - umphumela uwuhlelo olubekezelela amaphutha.

I-9 Aug

Ngengeza kuphrojekthi scala-scrapper ukuze kuhlukanise amakhasi e-html ku-Habr (ukukhipha ulwazi olufana nesilinganiso se-athikili, inani lamabhukhimakhi, njll.).

Futhi Amakati. Abasedwaleni.

I-Telegraph bot yokukhethwa komuntu siqu kwama-athikili avela ku-Habr

Ngabe sengifunda incwadi emayelana nemininingwane egciniwe esabalalisiwe, ngawuthanda umqondo we-CRDT (uhlobo lwedatha oluphindaphindekayo olungangqubuzani, https://en.wikipedia.org/wiki/Conflict-free_replicated_data_type, habr), ngakho-ke ngithumele uhlobo lwesigaba se-semigroup eguqukayo ukuze ngithole ulwazi mayelana ne-athikili ku-Habré.

Eqinisweni, lo mbono ulula kakhulu - sinezibali ezishintsha ngokwe-monotonically. Inani lamaphromoshini likhula kancane kancane, kanye nenani lama-pluses (kanye nenani lama-minus). Uma nginezinguqulo ezimbili zolwazi mayelana ne-athikili, khona-ke ngingakwazi "ukuzihlanganisa zibe yinto eyodwa" - isimo sekhawunta enkulu sithathwa njengesifaneleka kakhulu.

I-semigroup isho ukuthi izinto ezimbili ezinolwazi mayelana ne-athikili zingahlanganiswa zibe yinto eyodwa. I-Commutative isho ukuthi ungakwazi ukuhlanganisa kokubili u-A + B no-B + A, umphumela awuncikile ku-oda, futhi ekugcineni inguqulo entsha izosala. By the way, kukhona futhi associativity lapha.

Isibonelo, njengoba kuhleliwe, i-rss ngemva kokuhlaziya inikeze ulwazi oluthakazelisa kancane mayelana ne-athikili - ngaphandle kwamamethrikhi afana nenombolo yokubuka. Umlingisi okhethekile wabe esethatha ulwazi mayelana nezindatshana wagijimela emakhasini e-html ukuze ayibuyekeze futhi ayihlanganise nenguqulo endala.

Ngokuvamile, njengaku-akka, besingekho isidingo salokhu, ungavele ugcine i-updateDate ye-athikili futhi uthathe entsha ngaphandle kokuhlanganisa, kodwa umgwaqo wokuzidela ungiholile.

I-12 Aug

Ngaqala ukuzizwa ngikhululekile futhi, ukuze nje ngijabule, ngenza ingxoxo ngayinye yaba umlingisi ohlukile. Ngokweqile, umlingisi ngokwakhe unesisindo esingaba ngamabhayithi angu-300 futhi angadalwa ngezigidi, ngakho lokhu kuyindlela evamile ngokuphelele. Kubonakala kimi ukuthi isixazululo siphenduke saba mnandi kakhulu:

Omunye umlingisi wayeyibhuloho phakathi kweseva yetelegram kanye nesistimu yemiyalezo e-Akka. Uvele wathola imiyalezo futhi wayithumela kumlingisi wengxoxo abefisa. Umlingisi wengxoxo angathumela okuthile ekuphenduleni - futhi kuzobuyiselwa kuthelegramu. Okwakulula kakhulu ukuthi lo mlingisi uvele waba lula ngangokunokwenzeka futhi equkethe kuphela ingqondo yokuphendula imiyalezo. Ngendlela, ulwazi olumayelana nezindatshana ezintsha lweza kuzo zonke izingxoxo, kodwa futhi angiboni izinkinga kulokhu.

Ngokuvamile, i-bot yayisivele isebenza, iphendula imilayezo, igcina uhlu lwezihloko ezithunyelwe kumsebenzisi, futhi ngangivele ngicabanga ukuthi i-bot isivele isilungile. Ngengeza kancane izici ezincane ezifana nokwenza amagama ababhali namathegi abejwayelekile (ngisuse okuthi “sd f” ngokuthi “s_d_f”).

Kwakusele into eyodwa kuphela encane kodwa — isimo asilondolozwanga ndawo.

Konke akuhambanga kahle

Kungenzeka ukuthi uqaphele ukuthi ngibhale i-bot kakhulu ngingedwa. Ngakho-ke, umhlanganyeli wesibili wahileleka ekuthuthukisweni, futhi izinguquko ezilandelayo zavela kukhodi:

  • I-MongoDB ibonakale njengesitolo sombuso. Ngesikhathi esifanayo, izingodo zephrojekthi zaphulwa, ngoba ngesizathu esithile i-Monga yaqala ukuwathumela ugaxekile futhi abanye abantu bavele bawacisha emhlabeni jikelele.
  • Umlingisi webhuloho kuTelegram waguqulwa ngendlela engenakuqashelwa futhi waqala ukudlulisa imiyalezo ngokwakhe.
  • Abalingisi bezingxoxo banqanyulwe ngokungenaluzwela, esikhundleni salokho bathathelwe indawo umlingisi ofihle lonke ulwazi ngazo zonke izingxoxo ngesikhathi esisodwa. Kukho konke ukuthimula, lo mlingisi wangena enkingeni. Yebo, yebo, njengalapho kubuyekezwa ulwazi mayelana ne-athikili, ukuyithumela kubo bonke abalingisi bengxoxo kunzima (sifana ne-Google, izigidi zabasebenzisi zilindele izindatshana eziyisigidi engxoxweni ngayinye), kodwa njalo lapho ingxoxo ibuyekezwa, kujwayelekile ukuthi ungene kuMonga. Njengoba ngibonile kamuva, ingqondo yokusebenza yezingxoxo nayo yasikwa ngokuphelele futhi endaweni yayo kwavela into engazange isebenze.
  • Awukho umkhondo osele wezinhlobo zamakilasi.
  • Okunye okunengqondo okungenampilo kuvele kubadlali ababhalisele omunye komunye, okuholela esimweni somjaho.
  • Izakhiwo zedatha ezinezinkambu zohlobo Option[Int] iguqulwe yaba yi-Int enamanani azenzakalelayo omlingo afana -1. Kamuva ngabona ukuthi i-mongoDB igcina i-json futhi akukho lutho olungalungile ngokuyigcina lapho Option kahle, noma okungenani hlaziya -1 njenge-None, kodwa ngaleso sikhathi ngangingakwazi lokhu futhi ngathatha izwi lami lokuthi "kufanele kube njalo." Angizange ngiyibhale leyo khodi, futhi angizange ngizihluphe ngokuyishintsha okwamanje.
  • Ngithole ukuthi ikheli lami le-IP lomphakathi livame ukushintsha, futhi isikhathi ngasinye kwakufanele ngilengeze ohlwini olumhlophe lwe-Mongo. Ngethule i-bot endaweni, i-Monga yayisendaweni ethile kumaseva e-Monga njengenkampani.
  • Kungazelelwe, ukujwayezwa kwamathegi nokufometha kwemiyalezo yamatelegramu kwanyamalala. (Hmm, kungani kungaba njalo?)
  • Ngithande ukuthi isimo se-bot sigcinwe kusizindalwazi sangaphandle, futhi uma siqalwa kabusha siyaqhubeka nokusebenza njengokungathi akwenzekanga lutho. Nokho, lokhu kwaba kuphela plus.

Umuntu wesibili akazange asheshe, futhi zonke lezi zinguquko zavela enqwabeni eyodwa enkulu kakade ekuqaleni kukaSeptemba. Angizange ngibonge ngokushesha izinga lokucekelwa phansi okuwumphumela futhi ngaqala ukuqonda umsebenzi we-database, ngoba... Angikaze ngibhekane nabo ngaphambili. Kungemva kwesikhathi kuphela lapho ngabona khona ukuthi ingakanani ikhodi yokusebenza eyayisikiwe nokuthi zingaki iziphazamisi ezingezwe endaweni yayo.

Сентябрь

Ekuqaleni ngacabanga ukuthi kuzoba usizo ukwazi i-Monga futhi ukwenze kahle. Ngabe sengiqala ukuqonda kancane kancane ukuthi ukuhlela ukuxhumana ne-database nakho kuwubuciko lapho ungenza khona izinhlanga eziningi futhi wenze amaphutha nje. Isibonelo, uma umsebenzisi ethola imilayezo emibili efana /subscribe - futhi ekuphenduleni ngamunye sizodala okufakiwe etafuleni, ngoba ngesikhathi sokucubungula leyo milayezo umsebenzisi akabhalisiwe. Nginokusola ukuthi ukuxhumana ne-Monga ngendlela yayo yamanje akubhaliwe ngendlela engcono kakhulu. Isibonelo, izilungiselelo zomsebenzisi zidalwe ngesikhathi ebhalisa. Uma ezama ukuwashintsha ngaphambi kweqiniso lokubhalisa ... i-bot ayizange iphendule lutho, ngoba ikhodi kumlingisi yangena ku-database yezilungiselelo, ayizange ithole futhi yaphahlazeka. Lapho ngibuzwa ukuthi kungani ungadali izilungiselelo njengoba kudingeka, ngafunda ukuthi asikho isidingo sokuzishintsha uma umsebenzisi engakabhalisi... Uhlelo lokuhlunga umlayezo lwenziwe ngandlela-thile ngokungabonakali, futhi ngisho nangemva kokubhekisisa ikhodi engingayenza. angiqondi ukuthi ibihloswe ngale ndlela ekuqaleni noma kunephutha lapho.

Alukho uhlu lwama-athikili athunyelwe engxoxweni; esikhundleni salokho, kwaphakanyiswa ukuthi ngizibhale ngokwami. Lokhu kwangimangaza - ngokujwayelekile, bengingamelene nokuhudulela zonke izinhlobo zezinto kuphrojekthi, kodwa bekungaba okunengqondo kulowo ongenise lezi zinto futhi azibhuqe. Kodwa cha, umhlanganyeli wesibili ubonakale eyeka yonke into, kodwa wathi uhlu olungaphakathi engxoxweni bekumele lube yisixazululo esibi, futhi bekudingekile ukwenza uphawu ngemicimbi efana "nendatshana y ithunyelwe kumsebenzisi u-x." Khona-ke, uma umsebenzisi ecela ukuthumela ama-athikili amasha, bekudingekile ukuthumela isicelo kusizindalwazi, esizokhetha imicimbi ehlobene nomsebenzisi ezenzakalweni, futhi athole uhlu lwama-athikili amasha, azihlunge, azithumele kumsebenzisi. bese uphonsa imicimbi mayelana nalokhu kusizindalwazi.

Umhlanganyeli wesibili uyiswe ndawana thize ebheke ezintweni ezifushanisiwe, lapho i-bot ingatholi kuphela izindatshana ezivela ku-Habr futhi ingathunyelwa kuthelegramu kuphela.

Ngandlela-thile ngenza imicimbi ngendlela yophawu oluhlukile engxenyeni yesibili kaSepthemba. Akulungile, kodwa okungenani i-bot yaqala ukusebenza futhi yaqala ukungithumelela izindatshana futhi, futhi ngathola kancane ukuthi kwenzekani kukhodi.

Manje ungabuyela ekuqaleni futhi ukhumbule ukuthi indawo yokugcina ayizange idalwe yimi ekuqaleni. Yini ebingahamba kanje? Isicelo sami sokudonsa sinqatshiwe. Kwavela ukuthi nginekhodi ye-redneck, ukuthi ngangingazi ukuthi ngingasebenza kanjani eqenjini, futhi kwadingeka ngilungise iziphazamisi ku-curve yokuqaliswa kwamanje, futhi ngingayicwengisisi ibe yisimo esisebenzisekayo.

Ngacasuka ngabheka umlando wokuzibophezela kanye nenani lekhodi ebhaliwe. Ngabheka izikhathi ezazibhalwe kahle ekuqaleni, ngabuye ngaphuka...

F*rk it

Ngasikhumbula lesi sihloko Awuyena u-Google.

Ngacabanga ukuthi akekho ngempela odinga umbono ngaphandle kokuqaliswa. Ngacabanga ukuthi ngifuna ukuba ne-bot esebenzayo, ezosebenza ngekhophi eyodwa kukhompyutha eyodwa njengohlelo olulula lwe-java. Ngiyazi ukuthi i-bot yami izosebenza izinyanga ngaphandle kokuqalisa kabusha, njengoba ngike ngabhala ama-bots anjalo esikhathini esidlule. Uma iwa ngokuzumayo futhi ingathumeli umsebenzisi esinye isihloko, isibhakabhaka ngeke siwe phansi futhi akukho nhlekelele ezokwenzeka.

Kungani ngidinga i-Docker, i-mongoDB kanye nenye inkolo yempahla ye-software “engathi sína” uma ikhodi imane ingasebenzi noma ingasebenzi ngokungafanele?

Ngawuyeka lo msebenzi futhi ngenza konke engangikufuna.

I-Telegraph bot yokukhethwa komuntu siqu kwama-athikili avela ku-Habr

Ngesikhathi esifanayo, ngashintsha imisebenzi futhi isikhathi sokuphumula sancipha kakhulu. Ekuseni ngivukele khona esitimeleni, kusihlwa ngabuya sekuhlwile ngingasafuni kwenza lutho. Angenzanga lutho isikhashana, kwabe sekungehlula isifiso sokuqeda i-bot, ngaqala ukubhala kabusha ikhodi kancane kancane ngenkathi ngishayela ngiya emsebenzini ekuseni. Ngeke ngisho ukuthi bekukhiqiza: ukuhlala esitimeleni esinyakazayo nekhompuyutha ephathekayo ethangeni lakho bese ubheka ukuchichima kwesitaki ocingweni lwakho akulula neze. Kodwa-ke, isikhathi esichithwe ikhodi yokubhala sahamba singabonwa nhlobo, futhi iphrojekthi yaqala ukuhamba kancane ibheke esimweni sokusebenza.

Endaweni ethile ngemuva kwengqondo yami kwakukhona isibungu sokungabaza esasifuna ukusebenzisa i-mongoDB, kodwa ngacabanga ukuthi ngaphezu kwezinzuzo zesitoreji sesimo "esinokwethenjelwa", kwakukhona ukungalungi okubonakalayo:

  • I-database iba elinye iphuzu lokwehluleka.
  • Ikhodi iba yinkimbinkimbi, futhi kuzongithatha isikhathi eside ukuyibhala.
  • Ikhodi iba kancane futhi ingasebenzi kahle; esikhundleni sokushintsha into esenkumbulweni, izinguquko zithunyelwa ku-database futhi, uma kunesidingo, zihlehliswe.
  • Kunemikhawulo kuhlobo lokugcinwa kwemicimbi etafuleni elihlukile, elihlotshaniswa nezici ze-database.
  • Inguqulo yesilingo ye-Monga inemikhawulo ethile, futhi uma ungena kuyo, kuzodingeka uqalise futhi ulungiselele i-Monga kokuthile.

Ngisika imonga, manje isimo se-bot simane sigcinwe kumemori yohlelo futhi ngezikhathi ezithile sigcinwa efayeleni ngendlela ye-json. Mhlawumbe kumazwana azobhala ukuthi nginephutha, ukuthi yilapho kufanele kusetshenziswe khona i-database, njll. Kodwa lena iphrojekthi yami, indlela ngefayela ilula ngangokunokwenzeka futhi isebenza ngendlela esobala.

Ukhiphe amanani omlingo afana no -1 futhi wabuyisela ajwayelekile Option, isitoreji esingeziwe setafula le-hashi elinezindatshana ezithunyelwe emuva entweni enolwazi lwengxoxo. Kungezwe ukususwa kolwazi mayelana nama-athikili amadala kunezinsuku ezinhlanu, ukuze kungagcini yonke into. Ngilethe ukugawulwa kwemithi esimweni sokusebenza - izingodo zibhalwa ngamanani afanele kukho kokubili ifayela nekhonsoli. Kwengezwe imiyalo embalwa yokuphatha njengokulondoloza isimo noma ukuthola izibalo ezifana nenani labasebenzisi nama-athikili.

Kulungiswe inqwaba yezinto ezincane: isibonelo, kuma-athikili inani lokubuka, ukuthandwa, ukungathandwa namazwana ngesikhathi sokudlulisa isihlungi somsebenzisi manje sesikhonjiwe. Ngokuvamile, kuyamangaza ukuthi zingaki izinto ezincane okufanele zilungiswe. Ngagcina uhlu, ngaphawula konke “okungalungi” lapho futhi ngakulungisa ngangokunokwenzeka.

Isibonelo, ngengeze ikhono lokusetha zonke izilungiselelo ngqo kumlayezo owodwa:

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

Nelinye iqembu /settings iwabonisa ngaleli fomu, ungathatha umbhalo kuwo bese uthumela zonke izilungiselelo kumngane.
Kubonakala sengathi kuyinto encane, kodwa kunama-nuances amaningi afanayo.

Ukuhlunga okusetshenzisiwe kwe-athikili ngendlela yemodeli elula yomugqa - umsebenzisi angasetha isilinganiso esengeziwe sababhali namathegi, kanye nevelu yomkhawulo. Uma isamba sesilinganiso sombhali, isilinganiso esimaphakathi somaka kanye nesilinganiso sangempela se-athikili sikhulu kunevelu yomkhawulo, bese i-athikili iboniswa kumsebenzisi. Ungacela i-bot ngezindatshana ezinomyalo / ezintsha, noma ubhalisele i-bot futhi izothumela izindatshana ngomlayezo womuntu siqu nganoma yisiphi isikhathi sosuku.

Ngokuvamile, ngibe nombono wokuthi isihloko ngasinye sikhiphe izici ezengeziwe (amahabhu, inani lamazwana, amabhukumaka, ukushintshashintsha kwezilinganiso, inani lombhalo, izithombe kanye nekhodi esihlokweni, amagama angukhiye), futhi ngibonise umsebenzisi i-ok/ hhayi ok ivoti ngaphansi kwesihloko ngasinye futhi uqeqeshe imodeli yomsebenzisi ngamunye, kodwa ngangivilapha kakhulu.

Ngaphezu kwalokho, i-logic yomsebenzi ngeke ibe sobala kangako. Manje sengingakwazi ukusetha mathupha isilinganiso esingu-+9000 sesiguliUziro futhi ngesilinganiso somkhawulo esingu-+20 ngizoqinisekiswa ukuthi ngizothola zonke izindatshana zakhe (ngaphandle kwalapho, vele, ngibekela -100500 kwabanye omaka).

I-architecture yokugcina ibonakale ilula kakhulu:

  1. Umlingisi ogcina isimo sazo zonke izingxoxo nama-athikili. Ilayisha isimo sayo kusuka efayeleni elikudiski futhi iligcine emuva ngezikhathi ezithile, isikhathi ngasinye efayeleni elisha.
  2. Umlingisi ovakashela okuphakelayo kwe-RSS ngezikhathi ezithile, ufunda ngama-athikili amasha, abheke izixhumanisi, ahlaziye, futhi athumele lezi zihloko kumlingisi wokuqala. Ngaphezu kwalokho, ngezinye izikhathi icela uhlu lwezihloko ezivela kumlingisi wokuqala, ikhetha lezo ezingadala kunezinsuku ezintathu, kodwa ezingakabuyekezwa isikhathi eside, futhi zibuyekeze.
  3. Umlingisi oxhumana nocingo. Ngisalethe umlayezo uhlaziywa ngokuphelele lapha. Ngendlela enokuthula, ngingathanda ukuyihlukanisa kabili - ukuze eyodwa idlulise imilayezo engenayo, futhi eyesibili ibhekane nezinkinga zokuthutha ezifana nokuthumela kabusha imilayezo engathunyelwanga. Manje akukho ukuthumela kabusha, futhi umlayezo ongafikanga ngenxa yephutha uzomane ulahleke (ngaphandle uma kuphawulwe ezingodweni), kodwa kuze kube manje lokhu akuzange kubangele izinkinga. Mhlawumbe izinkinga zizovela uma isixuku sabantu sibhalisela i-bot futhi ngifinyelela umkhawulo wokuthumela imilayezo).

Engikuthandayo ukuthi ngenxa ye-akka, ukuwa kwabalingisi 2 no-3 ngokuvamile akuthinti ukusebenza kwe-bot. Mhlawumbe ezinye izihloko azibuyekezwa ngesikhathi noma imilayezo ethile ayifinyeleli kuthelegramu, kodwa i-akhawunti iqala kabusha umlingisi futhi konke kuyaqhubeka nokusebenza. Ngigcina imininingwane yokuthi i-athikili iboniswa kumsebenzisi kuphela lapho umlingisi we-telegraph ephendula ukuthi uthumele umlayezo ngempumelelo. Into embi kakhulu engisongela ukuthumela umlayezo izikhathi eziningana (uma ulethwa, kodwa ukuqinisekiswa kulahlekile ngandlela-thile). Eqinisweni, uma umlingisi wokuqala engazange agcine umbuso ngaphakathi kwakhe, kodwa waxhumana nedatha ethile, khona-ke angawa ngokungabonakali futhi abuyele ekuphileni. Ngingazama nokuphikelela kwe-akka ukubuyisela isimo sabalingisi, kodwa ukuqaliswa kwamanje kungifanele ngobulula bakho. Akukhona ukuthi ikhodi yami iphahlazeka kaningi - ngokuphambene nalokho, ngenza umzamo omkhulu ukuze ngenze kungenzeki. Kepha kuyenzeka, futhi ikhono lokuhlukanisa uhlelo lube izingcezu zabalingisi ababodwa bekubonakala kungilungele futhi kusebenza kimina.

Ngengeze i-circle-ci ukuze uma ikhodi inqamuka, uzothola ngokushesha ngayo. Okungenani, kusho ukuthi ikhodi iyekile ukuhlanganiswa. Ekuqaleni ngangifuna ukwengeza i-travis, kodwa ibonise amaphrojekthi ami ngaphandle kwamafoloko. Ngokuvamile, zombili lezi zinto zingasetshenziswa ngokukhululekile ezindaweni zokugcina ezivulekile.

Imiphumela

SekunguNovemba. I-bot ibhaliwe, bengiyisebenzisa emasontweni amabili edlule futhi ngiyithandile. Uma unemibono yokuthuthukisa, bhala. Angisiboni isidingo sokwenza imali - mayivele isebenze futhi ithumele izindatshana ezithokozisayo.

Isixhumanisi se-bot: https://t.me/HabraFilterBot
I-Github: https://github.com/Kright/habrahabr_reader

Iziphetho ezincane:

  • Ngisho nephrojekthi encane ingathatha isikhathi esiningi.
  • Awuyena u-Google. Asikho isidingo sokudubula ondlunkulu ngenganono. Isixazululo esilula singase sisebenze ngokufanayo.
  • Amaphrojekthi ezifuywayo mahle kakhulu ekuhloleni ubuchwepheshe obusha.
  • I-Telegraph bots ibhalwe kalula. Ukube bekungengenxa "yokusebenza ngokubambisana" nokuhlolwa kobuchwepheshe, i-bot ngabe ibhalwe ngesonto noma amabili.
  • Imodeli yomlingisi yinto ethakazelisayo ehamba kahle ngekhodi ye-multi-threading ne-fault-tolerant.
  • Ngicabanga ukuthi ngithole ukunambitha ukuthi kungani umphakathi womthombo ovulekile uthanda izimfoloko.
  • Imininingo egciniwe mihle ngoba isimo sohlelo lokusebenza asisancikile ekuphahlazekeni/ekuqaleni kabusha kwezinhlelo zokusebenza, kodwa ukusebenza nesizindalwazi kwenza ikhodi ibe nzima futhi kubeka imikhawulo esakhiweni sedatha.

Source: www.habr.com

Engeza amazwana