Telegram bot airson taghadh pearsanta de artaigilean bho Habr

Airson ceistean mar “carson?” tha artaigil nas sine ann - Natural Geektimes - a’ dèanamh àite nas glaine.

Tha tòrr artaigilean ann, airson adhbharan cuspaireil cuid dhiubh nach toil leam, agus cuid, air an làimh eile, tha e duilich leum. Bu mhath leam am pròiseas seo a bharrachadh agus ùine a shàbhaladh.

Mhol an artaigil gu h-àrd dòigh-obrach sgrioptaidh in-bhrabhsair, ach cha do chòrd e rium gu mòr (ged a chleachd mi e roimhe) airson na h-adhbharan a leanas:

  • Airson diofar bhrobhsairean air a’ choimpiutair/fòn agad, feumaidh tu a rèiteachadh a-rithist, ma ghabhas sin dèanamh.
  • Chan eil sìoladh teann le ùghdaran an-còmhnaidh goireasach.
  • Cha deach an duilgheadas le ùghdaran aig a bheil na h-artaigilean aca nach eil thu airson a chall, eadhon ged a thèid am foillseachadh uair sa bhliadhna, fhuasgladh.

Chan eil sìoladh a chaidh a thogail a-steach don làrach stèidhichte air rangachadh artaigil an-còmhnaidh goireasach, oir faodaidh artaigilean air leth sònraichte, a dh’ aindeoin an luach, ìre caran meadhanach fhaighinn.

An toiseach, bha mi airson biadhadh RSS (no eadhon grunn), a 'fàgail dìreach rudan inntinneach an sin. Ach aig a ’cheann thall, thionndaidh e a-mach nach robh leughadh RSS a’ coimhead gu math goireasach: co-dhiù, airson beachd a thoirt / bhòtadh airson artaigil / a chuir ris na rudan as fheàrr leat, feumaidh tu a dhol tron ​​​​bhrobhsair. Sin as coireach gun do sgrìobh mi bot teileagram a bhios a’ cur artaigilean inntinneach thugam ann am brath pearsanta. Bidh Telegram fhèin a’ dèanamh ro-sheallaidhean brèagha bhuapa, a tha, còmhla ri fiosrachadh mun ùghdar/rangachadh/seallaidhean, a’ coimhead gu math fiosrachail.

Telegram bot airson taghadh pearsanta de artaigilean bho Habr

Fon gearradh tha mion-fhiosrachadh leithid feartan na h-obrach, am pròiseas sgrìobhaidh agus fuasglaidhean teicnigeach.

Beagan mu dheidhinn an bot

Stòr-tasgaidh: https://github.com/Kright/habrahabr_reader

Bot ann an telegram: https://t.me/HabraFilterBot

Bidh an neach-cleachdaidh a 'suidheachadh ìre a bharrachd airson tagaichean agus ùghdaran. Às deidh sin, thèid sìoltachan a chuir a-steach do na h-artaigilean - tha rangachadh an artaigil air Habré, ìre neach-cleachdaidh an ùghdair agus an ìre cuibheasach airson rangachadh luchd-cleachdaidh le tag air an cur ris. Ma tha an t-suim nas àirde na stairsneach a chaidh a shònrachadh don neach-cleachdaidh, bidh an artaigil a’ dol seachad air a’ chriathrag.

B’ e taobh-amas airson bot a sgrìobhadh spòrs is eòlas fhaighinn. A bharrachd air an sin, chuir mi sin nam chuimhne gu cunbhalach Chan e Google a th’ annam, agus mar sin tha mòran de rudan air an dèanamh cho sìmplidh agus eadhon prìomhadail sa ghabhas. Ach, cha do chuir seo stad air a’ phròiseas airson am bot a sgrìobhadh bho bhith a’ toirt trì mìosan.

B’ e samhradh a bh’ ann a-muigh

Bha an t-Iuchar a 'tighinn gu crìch, agus chuir mi romhpa bot a sgrìobhadh. Agus chan ann a-mhàin, ach le caraid a bha a 'maighstireachd scala agus ag iarraidh rudeigin a sgrìobhadh air. Bha an toiseach a 'coimhead gealltanach - bhiodh an còd air a ghearradh le sgioba, bha coltas gu robh an obair furasta agus shaoil ​​​​mi gum biodh am bot deiseil ann am beagan sheachdainean no mìos.

A dh 'aindeoin gu bheil mi fhìn air a bhith a' sgrìobhadh còd air a 'chreig bho àm gu àm airson na beagan bhliadhnaichean a dh' fhalbh, mar as trice chan eil duine a 'faicinn no a' coimhead air a 'chòd seo: pròiseactan peataichean, a' dèanamh deuchainn air cuid de bheachdan, a 'deasachadh dàta ro-làimh, a' faighinn eòlas air cuid de bhun-bheachdan bho FP. Bha ùidh mhòr agam ann an cò ris a tha còd sgrìobhaidh ann an sgioba coltach, oir faodar còd air roc a sgrìobhadh ann an dòighean gu math eadar-dhealaichte.

Dè dh’ fhaodadh a bhith air falbh mar sin? Ach, na leig leinn cùisean a reubadh.
Faodar sùil a chumail air a h-uile càil a thachras a’ cleachdadh eachdraidh a’ gheallaidh.

Chruthaich neach-eòlais stòr air 27 Iuchar, ach cha do rinn e dad eile, agus mar sin thòisich mi a 'sgrìobhadh còd.

30 Iuchar

Gu h-aithghearr: Sgrìobh mi parsadh de bhiadh rss Habr.

  • com.github.pureconfig airson a bhith a’ leughadh rèiteachaidhean typeafe gu dìreach a-steach do chlasaichean cùise (thàinig e a-mach gu robh e gu math goireasach)
  • scala-xml airson leughadh xml: oir an toiseach bha mi airson mo bhuileachadh fhèin a sgrìobhadh airson biadhadh rss, agus tha am biadhadh rss ann an cruth xml, chleachd mi an leabharlann seo airson parsadh. Gu fìrinneach, nochd parsadh RSS cuideachd.
  • scalatest airson deuchainnean. Fiù 's airson pròiseactan beaga bìodach, a' sgrìobhadh dheuchainnean a 'sàbhaladh ùine - mar eisimpleir, nuair a debugging xml parsadh, tha e mòran nas fhasa a luchdachadh a-nuas gu faidhle, a' sgrìobhadh deuchainnean agus ceart mhearachdan. Nuair a nochd bug nas fhaide air adhart le bhith a’ parsadh cuid de html neònach le caractaran neo-dhligheach utf-8, bha e na b’ fhasa a chuir ann am faidhle agus deuchainn a chuir ris.
  • cleasaichean à Akka. Gu reusanta, cha robh feum orra idir, ach chaidh am pròiseact a sgrìobhadh airson spòrs, bha mi airson feuchainn orra. Mar thoradh air an sin, tha mi deiseil airson a ràdh gun do chòrd e rium. Faodar coimhead air a 'bheachd air OOP bhon taobh eile - tha cleasaichean ann a bhios ag iomlaid teachdaireachdan. Is e an rud a tha nas inntinniche gun urrainn dhut (agus bu chòir) còd a sgrìobhadh ann an dòigh is dòcha nach ruig an teachdaireachd no nach tèid a phròiseasadh (san fharsaingeachd, nuair a bhios an cunntas a’ ruith air aon choimpiutair, cha bu chòir teachdaireachdan a chall). An toiseach bha mi a 'sgrìobadh mo cheann agus bha sgudal anns a' chòd le cleasaichean a 'fo-sgrìobhadh dha chèile, ach aig a' cheann thall fhuair mi air adhart le ailtireachd caran sìmplidh agus eireachdail. Faodar beachdachadh air a’ chòd taobh a-staigh gach cleasaiche mar aon-snàthainn; nuair a thuiteas cleasaiche, bidh an acca ag ath-thòiseachadh e - is e an toradh siostam a tha an ìre mhath fulangach le lochdan.

9 Lùnastal

Chuir mi ris a’ phròiseact scala-scrapper airson duilleagan html a pharsadh bho Habr (gus fiosrachadh a tharraing a-mach leithid rangachadh artaigil, àireamh chomharran-leabhair, msaa).

Agus Cait. An fheadhainn anns a 'chreig.

Telegram bot airson taghadh pearsanta de artaigilean bho Habr

An uairsin leugh mi leabhar mu stòran-dàta sgaoilte, bu toil leam a’ bheachd air CRDT (seòrsa dàta mac-samhail gun strì, https://en.wikipedia.org/wiki/Conflict-free_replicated_data_type, habr), agus mar sin chuir mi a-steach clas seòrsa de leth-bhuidheann commutative airson fiosrachadh mun artaigil air Habré.

Gu dearbh, tha am beachd gu math sìmplidh - tha cunntairean againn a bhios ag atharrachadh gu monotonically. Tha an àireamh de sanasachd a 'fàs mean air mhean, mar a tha an àireamh de buannachdan (a thuilleadh air an àireamh de minuses). Ma tha dà dhreach fiosrachaidh agam mu dheidhinn artaigil, is urrainn dhomh “an aonachadh ann an aon” - tha staid a’ chunntair a tha nas motha air a mheas nas buntainniche.

Tha leth-bhuidheann a’ ciallachadh gum faodar dà rud le fiosrachadh mu artaigil a chur còmhla ann an aon. Tha commutative a 'ciallachadh gun urrainn dhut an dà chuid A + B agus B + A a chur còmhla, chan eil an toradh an urra ris an òrdugh, agus aig a' cheann thall bidh an dreach as ùire fhathast. Air an t-slighe, tha co-cheangal an seo cuideachd.

Mar eisimpleir, mar a bha dùil, thug rss às ​​deidh parsadh fiosrachadh beagan lag mun artaigil - às aonais meatrach mar an àireamh de bheachdan. Ghabh cleasaiche sònraichte an uairsin fiosrachadh mu na h-artaigilean agus ruith e gu na duilleagan html airson ùrachadh agus a chur còmhla ris an t-seann dreach.

San fharsaingeachd, mar a bha e ann an akka, cha robh feum air seo, dh’ fhaodadh tu dìreach ùrachadh Ceann-latha airson an artaigil a stòradh agus fear nas ùire a ghabhail gun aonadh sam bith, ach thug an rathad dànachd mi.

12 Lùnastal

Thòisich mi a’ faireachdainn na bu shaoire agus, dìreach airson spòrs, rinn mi gach còmhradh mar chleasaiche air leth. Gu teòiridheach, tha cuideam mu 300 bytes aig cleasaiche fhèin agus faodar an cruthachadh ann am milleanan, agus mar sin is e dòigh-obrach gu tur àbhaisteach a tha seo. Tha e coltach riumsa gun robh am fuasgladh gu math inntinneach:

Bha aon chleasaiche na dhrochaid eadar am frithealaiche teileagram agus an siostam teachdaireachd ann an Akka. Fhuair e dìreach teachdaireachdan agus chuir e chun chleasaiche cabadaich a bha e ag iarraidh. Dh’ fhaodadh an cleasaiche cabadaich rudeigin a chuir air ais mar fhreagairt - agus bhiodh e air a chuir air ais chun teileagram. Is e an rud a bha gu math goireasach gun robh an cleasaiche seo cho sìmplidh sa ghabhas agus nach robh ann ach an reusanachadh airson freagairt a thoirt do theachdaireachdan. Co-dhiù, thàinig fiosrachadh mu artaigilean ùra chun a h-uile cabadaich, ach a-rithist chan eil mi a’ faicinn duilgheadas sam bith ann an seo.

San fharsaingeachd, bha am bot ag obair mar-thà, a 'freagairt teachdaireachdan, a' stòradh liosta de artaigilean a chaidh a chuir chun neach-cleachdaidh, agus bha mi mu thràth a 'smaoineachadh gu robh am bot cha mhòr deiseil. Chuir mi beagan fheartan ris gu slaodach mar a bhith ag àbhaisteachadh ainmean ùghdaran agus tagaichean (a’ dol an àite “sd f” le “s_d_f”).

Cha robh ach aon rud air fhàgail beag ach - cha deach an stàit a shàbhaladh an àite sam bith.

Chaidh a h-uile càil ceàrr

Is dòcha gu bheil thu air mothachadh gun do sgrìobh mi am bot leis fhèin sa mhòr-chuid. Mar sin, chaidh an dàrna com-pàirtiche an sàs ann an leasachadh, agus nochd na h-atharrachaidhean a leanas anns a 'chòd:

  • Bha coltas gu robh MongoDB a 'stòradh stàite. Aig an aon àm, chaidh na logaichean sa phròiseact a bhriseadh, oir airson adhbhar air choireigin thòisich Monga gam spamadh agus bha cuid de dhaoine dìreach gan tionndadh air feadh na cruinne.
  • Chaidh cleasaiche na drochaid ann an Telegram atharrachadh gun aithne agus thòisich e a’ parsadh teachdaireachdan e fhèin.
  • Chaidh cleasaichean airson cabadaich a ghearradh a-mach gu tròcaireach, agus an àite sin thàinig cleasaiche a chuir am falach a h-uile fiosrachadh mu na còmhraidhean uile aig an aon àm. Airson a h-uile sreothartaich, chaidh an cleasaiche seo gu trioblaid. Uill, tha, mar nuair a bhios tu ag ùrachadh fiosrachadh mu artaigil, tha e duilich a chuir chun a h-uile cleasaiche cabadaich (tha sinn mar Google, tha milleanan de luchd-cleachdaidh a ’feitheamh ri millean artaigil anns a’ chat airson gach fear), ach a h-uile uair a thèid an còmhradh ùrachadh, tha e àbhaisteach a dhol a-steach gu Monga. Mar a thuig mi fada nas fhaide air adhart, chaidh loidsig obrach nan còmhraidhean a ghearradh a-mach gu tur cuideachd agus na àite nochd rudeigin nach do dh’ obraich.
  • Chan eil sgeul air fhàgail den t-seòrsa chlasaichean.
  • Tha cuid de loidsig mì-fhallain air nochdadh anns na cleasaichean leis na fo-sgrìobhaidhean aca dha chèile, a’ leantainn gu suidheachadh rèis.
  • Structaran dàta le raointean de sheòrsa Option[Int] air a thionndadh gu Int le luachan bunaiteach draoidheil mar -1. Nas fhaide air adhart thuig mi gu bheil mongoDB a’ stòradh json agus chan eil dad ceàrr air a stòradh an sin Option uill, no co-dhiù rannsaich -1 mar Chan eil gin, ach aig an àm sin cha robh fios agam air seo agus ghabh mi m’ fhacal air a shon “sin mar a bu chòir dha a bhith.” Cha do sgrìobh mi an còd sin, agus cha do chuir mi dragh orm atharrachadh aig an àm seo.
  • Fhuair mi a-mach gu bheil an seòladh IP poblach agam buailteach atharrachadh, agus a h-uile uair bha agam ri a chuir ri liosta geal Mongo. Chuir mi am bot air bhog gu h-ionadail, bha Monga an àiteigin air frithealaichean Monga mar chompanaidh.
  • Gu h-obann, chaidh gnàthachadh tagaichean agus cruth teachdaireachd airson teileagraman à bith. (Hmm, carson a bhiodh sin?)
  • Chòrd e rium gu bheil staid an bot air a stòradh ann an stòr-dàta taobh a-muigh, agus nuair a thèid ath-thòiseachadh tha e fhathast ag obair mar nach biodh dad air tachairt. Ach, b 'e seo an aon bhuannachd.

Cha robh an dàrna neach ann an cabhag sam bith, agus nochd na h-atharrachaidhean sin uile ann an aon chàrn mòr mar-thà aig toiseach an t-Sultain. Cha do chuir mi meas sa bhad air meud an sgrios a thàinig às agus thòisich mi a’ tuigsinn obair an stòr-dàta, oir... Cha do dhèilig mi riutha a-riamh roimhe. Is ann dìreach às deidh sin a thuig mi na bha de chòd obrach air a ghearradh agus cia mheud biast a chaidh a chur ris na àite.

Sultain

An toiseach bha mi a 'smaoineachadh gum biodh e feumail a bhith a' maighstir Monga agus ga dhèanamh gu math. An uairsin thòisich mi a 'tuigsinn gu slaodach gu bheil eagrachadh conaltradh leis an stòr-dàta cuideachd na ealain anns an urrainn dhut tòrr rèisean a dhèanamh agus dìreach mearachdan a dhèanamh. Mar eisimpleir, ma gheibh an neach-cleachdaidh dà theachdaireachd mar /subscribe - agus mar fhreagairt do gach fear cruthaichidh sinn inntrig sa chlàr, oir aig àm giollachd nan teachdaireachdan sin chan eil an neach-cleachdaidh fo-sgrìobhadh. Tha amharas agam nach eil conaltradh le Monga mar a tha e an-dràsta air a sgrìobhadh san dòigh as fheàrr. Mar eisimpleir, chaidh roghainnean an neach-cleachdaidh a chruthachadh aig an àm a chuir e ainm ris. Ma dh'fheuch e ri an atharrachadh mus deach an fho-sgrìobhadh ... cha do fhreagair am bot dad, oir chaidh an còd san actair a-steach don stòr-dàta airson na roghainnean, cha do lorg e e agus thuit e. Nuair a chaidh faighneachd dhomh carson nach cruthaich thu roghainnean mar a dh'fheumar, dh'ionnsaich mi nach eil feum air an atharrachadh mura h-eil an neach-cleachdaidh air fo-sgrìobhadh a dhèanamh ... chan eil mi a’ tuigsinn an robh e san dòigh seo an toiseach no a bheil mearachd ann.

Cha deach liosta de artaigilean a chuir a-steach don chat; an àite sin, chaidh a mholadh gun sgrìobhadh mi iad fhèin. Chuir seo iongnadh orm - san fharsaingeachd, cha robh mi an aghaidh a bhith a’ slaodadh a h-uile seòrsa rud a-steach don phròiseact, ach bhiodh e loidsigeach don fhear a thug a-steach na rudan sin agus a chuir às dhaibh. Ach chan e, bha e coltach gun tug an dàrna com-pàirtiche seachad a h-uile càil, ach thuirt e gur e droch fhuasgladh a bh’ anns an liosta taobh a-staigh a ’chat, agus bha e riatanach soidhne a dhèanamh le tachartasan mar“ artaigil y air a chuir gu neach-cleachdaidh x. ” An uairsin, nam biodh an neach-cleachdaidh ag iarraidh artaigilean ùra a chuir, bha e riatanach iarrtas a chuir chun stòr-dàta, a roghnaicheadh ​​​​tachartasan co-cheangailte ris an neach-cleachdaidh bho na tachartasan, cuideachd liosta de artaigilean ùra fhaighinn, an sìoladh, an cur chun neach-cleachdaidh agus tilg tachartasan mu dheidhinn seo air ais dhan stòr-dàta.

Chaidh an dàrna com-pàirtiche a ghiùlan air falbh am badeigin a dh’ ionnsaigh tarraing às, nuair a gheibh am bot chan e a-mhàin artaigilean bho Habr agus thèid a chuir chan ann a-mhàin gu teileagram.

Chuir mi tachartasan an gnìomh ann an cruth soidhne air leth airson an dàrna leth den t-Sultain. Chan eil e math, ach co-dhiù thòisich am bot ag obair agus thòisich e a’ cur artaigilean thugam a-rithist, agus dh’ aithnich mi gu slaodach dè bha a’ tachairt sa chòd.

A-nis faodaidh tu a dhol air ais chun toiseach agus cuimhnich nach deach an ath-reic a chruthachadh leam bho thùs. Dè dh’ fhaodadh a bhith air falbh mar seo? Chaidh an t-iarrtas tarraing agam a dhiùltadh. Thionndaidh e a-mach gu robh còd dearg agam, nach robh fios agam ciamar a dh ’obraicheadh ​​​​mi ann an sgioba, agus bha agam ri bhiteagan a chàradh anns an lùb buileachaidh gnàthach, agus gun a bhith ga ùrachadh gu staid a ghabhas cleachdadh.

Dh’ fhàs mi troimh-chèile agus choimhead mi air eachdraidh a’ gheallaidh agus an ìre de chòd a chaidh a sgrìobhadh. Thug mi sùil air amannan a chaidh a sgrìobhadh gu math bho thùs, agus an uairsin air am briseadh air ais ...

F*rk e

Chuimhnich mi air an artaigil Chan e Google a th’ annad.

Bha mi den bheachd nach eil feum aig duine dha-rìribh air beachd gun bhuileachadh. Bha mi a’ smaoineachadh gu bheil mi airson bot obrach a bhith agam, a dh’ obraicheas ann an aon leth-bhreac air aon choimpiutair singilte mar phrògram java sìmplidh. Tha fios agam gun obraich am bot agam airson mìosan gun ath-thòiseachadh, leis gu bheil mi air a leithid de bhotan a sgrìobhadh roimhe seo. Ma thuiteas e gu h-obann agus nach cuir e artaigil eile chun neach-cleachdaidh, cha tuit na speuran gu làr agus cha tachair dad uamhasach.

Carson a tha feum agam air Docker, mongoDB agus cult cargo eile de bhathar-bog “dona” mura h-eil an còd ag obair no ag obair gu cam?

Thog mi am pròiseact agus rinn mi a h-uile dad mar a bha mi ag iarraidh.

Telegram bot airson taghadh pearsanta de artaigilean bho Habr

Timcheall air an aon àm, dh'atharraich mi obraichean agus dh'fhàs dìth ùine shaor gu mòr. Sa mhadainn dhùisg mi dìreach air an trèana, air an fheasgar thill mi fadalach agus cha robh mi airson dad a dhèanamh tuilleadh. Cha do rinn mi dad airson greiseag, agus an uairsin chuir am miann crìoch a chuir air a’ bot cus cumhachd dhomh, agus thòisich mi ag ath-sgrìobhadh a ’chòd gu slaodach fhad‘ s a bha mi a ’draibheadh ​​​​a dh’ obair sa mhadainn. Cha bhith mi ag ràdh gu robh e cinneasach: chan eil e glè ghoireasach a bhith nad shuidhe air trèana crathadh le laptop air do uchd agus a’ coimhead air stac thar-shruth bhon fhòn agad. Ach, chaidh an ùine a chuir e seachad a’ sgrìobhadh còd gu tur gun mhothachadh, agus thòisich am pròiseact air gluasad gu slaodach a dh’ ionnsaigh staid obrach.

An àiteigin ann an cùl m ’inntinn bha cnuimh teagmhach a bha airson mongoDB a chleachdadh, ach bha mi a’ smaoineachadh a bharrachd air na buannachdan bho stòradh stàite “earbsach”, bha eas-bhuannachdan follaiseach ann:

  • Bidh an stòr-dàta gu bhith na phuing fàiligeadh eile.
  • Tha an còd a’ fàs nas iom-fhillte, agus bheir e nas fhaide dhomh a sgrìobhadh.
  • Bidh an còd a’ fàs slaodach agus neo-èifeachdach; an àite rud atharrachadh mar chuimhneachan, thèid na h-atharrachaidhean a chuir chun stòr-dàta agus, ma tha sin riatanach, an toirt air ais.
  • Tha cuingealachaidhean air an t-seòrsa de thachartasan a stòradh ann an clàr air leth, a tha co-cheangailte ri feartan sònraichte an stòr-dàta.
  • Tha cuid de chuingealachaidhean aig an tionndadh deuchainn de Monga, agus ma ruitheas tu a-steach annta, feumaidh tu Monga a chuir air bhog agus a rèiteachadh air rudeigin.

Gheàrr mi a-mach am monga, a-nis tha staid a ’bot dìreach air a stòradh ann an cuimhne a’ phrògraim agus bho àm gu àm air a shàbhaladh gu faidhle ann an cruth json. Is dòcha anns na beachdan gun sgrìobh iad gu bheil mi ceàrr, gur ann an seo a bu chòir an stòr-dàta a chleachdadh, msaa. Ach is e seo am pròiseact agam, tha an dòigh-obrach leis an fhaidhle cho sìmplidh ‘s a ghabhas agus bidh e ag obair ann an dòigh fhollaiseach.

Thilg a-mach luachan draoidheil mar -1 agus thill e feadhainn àbhaisteach Option, stòradh a bharrachd de bhòrd hash le artaigilean air an cur air ais chun nì le fiosrachadh cabadaich. Cuir às do fhiosrachadh mu artaigilean nas sine na còig latha, gus nach tèid a h-uile càil a stòradh. Thug mi logadh gu staid obrach - tha logaichean sgrìobhte ann am meudan reusanta an dà chuid don fhaidhle agus don consol. Chuir sinn grunn òrdughan rianachd ris leithid sàbhaladh stàite no faighinn staitistig leithid an àireamh de luchd-cleachdaidh agus artaigilean.

Chàirich sinn dòrlach de rudan beaga: mar eisimpleir, airson artaigilean tha an àireamh de bheachdan, rudan as toil leat, nach toil leotha agus beachdan aig àm a dhol seachad air sìoltachan an neach-cleachdaidh a-nis air a chomharrachadh. San fharsaingeachd, tha e na iongnadh cia mheud rud beag a dh’ fheumar a cheartachadh. Chùm mi liosta, thug mi fa-near a h-uile “neo-riaghailteachd” an sin agus cheartaich mi iad cho fada ‘s a ghabhas.

Mar eisimpleir, chuir mi ris a’ chomas a h-uile suidheachadh a shuidheachadh gu dìreach ann an aon teachdaireachd:

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

Agus sgioba eile /settings gan taisbeanadh gu dìreach san fhoirm seo, faodaidh tu an teacsa a thoirt bhuaithe agus na roghainnean gu lèir a chuir gu caraid.
Tha e coltach gur e rud beag a th’ ann, ach tha dusanan de nuances coltach ris.

Criathrag artaigil air a chuir an gnìomh ann an cruth modail sreathach sìmplidh - faodaidh an neach-cleachdaidh rangachadh a bharrachd a shuidheachadh airson ùghdaran agus tagaichean, a bharrachd air luach stairsneach. Ma tha suim rangachadh an ùghdair, an rangachadh cuibheasach airson tagaichean agus fìor rangachadh an artaigil nas àirde na luach na stairsnich, tha an artaigil air a shealltainn don neach-cleachdaidh. Faodaidh tu an dàrna cuid artaigilean iarraidh air a’ bot leis an àithne / ùr, no fo-sgrìobhadh don bot agus cuiridh e artaigilean ann am brath pearsanta aig àm sam bith den latha.

San fharsaingeachd, bha beachd agam airson gach artaigil barrachd fheartan a tharraing a-mach (mòr-ionadan, àireamh bheachdan, comharran leabhraichean, daineamaigs atharrachaidhean rangachadh, meud teacsa, dealbhan agus còd san artaigil, prìomh fhaclan), agus sealltainn don neach-cleachdaidh ceart gu leòr / chan eil mi ceart gu leòr bhòtadh fo gach artaigil agus trèanadh modail airson gach neach-cleachdaidh, ach bha mi ro leisg.

A bharrachd air an sin, cha bhi loidsig na h-obrach cho follaiseach. A-nis is urrainn dhomh rangachadh de +9000 a shuidheachadh le làimh airson patientZero agus le ìre stairsnich de +20 bidh mi cinnteach gum faigh mi na h-artaigilean aige gu lèir (mura h-eil, gu dearbh, gun do shuidhich mi -100500 airson cuid de thagaichean).

Bha an ailtireachd mu dheireadh gu math sìmplidh:

  1. Cleasaiche a bhios a 'stòradh staid gach còmhradh agus artaigil. Bidh e a 'luchdachadh a staid bho fhaidhle air an diosg agus ga shàbhaladh air ais bho àm gu àm, gach turas gu faidhle ùr.
  2. Cleasaiche a bhios a’ tadhal air an RSS bho àm gu àm, ag ionnsachadh mu artaigilean ùra, a’ coimhead air na ceanglaichean, a’ parsadh, agus a’ cur na h-artaigilean sin chun chiad chleasaiche. A thuilleadh air an sin, bidh e uaireannan ag iarraidh liosta de artaigilean bhon chiad chleasaiche, a 'taghadh an fheadhainn nach eil nas sine na trì latha, ach nach eil air an ùrachadh airson ùine mhòr, agus gan ùrachadh.
  3. Cleasaiche a bhios a’ conaltradh le teileagram. Thug mi fhathast am parsadh teachdaireachd gu tur an seo. Ann an dòigh càirdeil, bu mhath leam a roinn ann an dà - gus am bi aon a 'sgrùdadh teachdaireachdan a tha a' tighinn a-steach, agus an dàrna fear a 'dèiligeadh ri duilgheadasan còmhdhail leithid ath-chur air falbh teachdaireachdan nach deach a chur. A-nis chan eil ath-chur ann, agus thèid teachdaireachd nach do ràinig air sgàth mearachd a chall (mura h-eil e air a thoirt fa-near anns na logaichean), ach gu ruige seo chan eil seo air duilgheadasan adhbhrachadh. Is dòcha gun èirich duilgheadasan ma bhios grunn dhaoine a’ fo-sgrìobhadh don bot agus gun ruig mi a’ chrìoch airson teachdaireachdan a chuir).

Is e an rud a chòrd rium, le taing dha akka, nach eil easan chleasaichean 2 agus 3 mar as trice a’ toirt buaidh air coileanadh a ’bot. Is dòcha nach eil cuid de na h-artaigilean air an ùrachadh ann an àm no cuid de theachdaireachdan nach ruig an teileagram, ach bidh an cunntas ag ath-thòiseachadh an actair agus bidh a h-uile càil ag obair. Bidh mi a 'sàbhaladh am fiosrachadh gu bheil an artaigil air a shealltainn don neach-cleachdaidh a-mhàin nuair a bhios an cleasaiche teileagram a' freagairt gu bheil e air an teachdaireachd a lìbhrigeadh gu soirbheachail. Is e an rud as miosa a tha gam bagairt an teachdaireachd a chuir grunn thursan (ma thèid a lìbhrigeadh, ach tha an dearbhadh air chall ann an dòigh air choireigin). Ann am prionnsabal, mura biodh a 'chiad chleasaiche a' stòradh na stàite taobh a-staigh e fhèin, ach a 'conaltradh le cuid de stòr-dàta, dh' fhaodadh e cuideachd tuiteam gu neo-fhaicsinneach agus tilleadh gu beatha. B 'urrainn dhomh cuideachd a bhith a' feuchainn ri seasmhachd akka gus staid nan cleasaichean a thoirt air ais, ach tha am buileachadh làithreach freagarrach dhomh le cho sìmplidh 'sa tha e. Chan e gun do thuit an còd agam gu tric - air an làimh eile, chuir mi tòrr oidhirp gus a dhèanamh do-dhèanta. Ach bidh cac a’ tachairt, agus bha coltas gu robh an comas am prògram a bhriseadh na phìosan iomallach - cleasaichean gu math goireasach agus practaigeach dhomh.

Chuir mi cearcall-ci ris gus ma bhriseas an còd, gheibh thu a-mach mu dheidhinn sa bhad. Aig a 'char as lugha, tha e a' ciallachadh gu bheil an còd air stad a chur ri chèile. An toiseach bha mi airson travis a chuir ris, ach cha do sheall e ach mo phròiseactan às aonais forc. San fharsaingeachd, faodar an dà rud sin a chleachdadh gu saor ann an stòran fosgailte.

Builean

Tha an t-Samhain ann mu thràth. Tha am bot sgrìobhte, tha mi air a bhith ga chleachdadh airson an dà sheachdain a chaidh seachad agus chòrd e rium. Ma tha beachdan agad airson leasachadh, sgrìobh. Chan eil mi a’ faicinn a’ phuing ann a bhith a’ dèanamh airgead air - leig leis dìreach obrachadh agus artaigilean inntinneach a chuir.

Ceangal bot: https://t.me/HabraFilterBot
Github: https://github.com/Kright/habrahabr_reader

Co-dhùnaidhean beaga:

  • Faodaidh eadhon pròiseact beag ùine mhòr a thoirt.
  • Chan e Google a th’ annad. Chan eil feum air sparrows a losgadh bho chanan. Faodaidh fuasgladh sìmplidh obrachadh a cheart cho math.
  • Tha pròiseactan peata fìor mhath airson a bhith a’ feuchainn teicneòlasan ùra.
  • Tha botaichean teileagram sgrìobhte gu math sìmplidh. Mura b’ ann airson “obair-sgioba” agus deuchainnean le teicneòlas, bhiodh am bot air a sgrìobhadh ann an seachdain no dhà.
  • Tha modail an actair na rud inntinneach a tha a 'dol gu math le còd ioma-snàithlean agus fulangas sgàinidhean.
  • Tha mi a’ smaoineachadh gun d’ fhuair mi blasad air carson a tha a’ choimhearsnachd stòr fosgailte dèidheil air forcaichean.
  • Tha stòran-dàta math leis nach eil staid an tagraidh tuilleadh an urra ri tubaistean / ath-thòiseachadh tagraidh, ach bidh obrachadh le stòr-dàta a’ dèanamh a ’chòd nas duilghe agus a’ cur bacadh air structar an dàta.

Source: www.habr.com

Cuir beachd ann