Telegram bot no kahi koho pilikino o nā ʻatikala mai Habr

No nā nīnau e like me "no ke aha?" aia kekahi ʻatikala kahiko - Natural Geektimes - hoʻomaʻemaʻe wahi.

Nui nā ʻatikala, no nā kumu kumuhana ʻaʻole makemake wau i kekahi o lākou, a ʻo kekahi, ma ke ʻano ʻē, he mea minamina ke lele. Makemake au e hoʻonui i kēia kaʻina hana a mālama i ka manawa.

Ua manaʻo ka ʻatikala ma luna i kahi ala kākau moʻolelo i loko o ka polokalamu kele pūnaewele, akā ʻaʻole wau makemake nui ia (ʻoiai ua hoʻohana mua wau ia) no nā kumu penei:

  • No nā polokalamu kele pūnaewele like ʻole ma kāu kamepiula/kelepona, pono ʻoe e hoʻonohonoho hou iā ia, inā hiki.
  • ʻAʻole maʻalahi nā kānana koʻikoʻi e nā mea kākau.
  • ʻO ka pilikia me nā mea kākau nona nā ʻatikala āu e makemake ʻole e nalo, ʻoiai inā paʻi ʻia lākou i hoʻokahi makahiki, ʻaʻole i hoʻoholo ʻia.

ʻAʻole maʻalahi ka kānana i kūkulu ʻia i loko o ka pūnaewele e pili ana i nā helu ʻatikala, no ka mea, hiki i nā ʻatikala kūikawā loa, ʻoiai ko lākou waiwai, hiki ke loaʻa i kahi helu haʻahaʻa.

I ka hoʻomaka ʻana, makemake wau e hoʻohua i kahi hānai RSS (a i ʻole kekahi), waiho wale i nā mea hoihoi ma laila. Akā, i ka hopena, ua ʻike ʻia ʻaʻole i maʻalahi ka heluhelu ʻana i ka RSS: i kēlā me kēia hihia, e ʻōlelo / koho i kahi ʻatikala / hoʻohui ʻia i kāu mau punahele, pono ʻoe e hele i ka polokalamu kele pūnaewele. ʻO ia ke kumu i kākau ai au i kahi bot telegram e hoʻouna mai i nā ʻatikala hoihoi iaʻu ma kahi leka pilikino. Hana ʻo Telegram i nā hiʻohiʻona nani mai loko mai o lākou, ka mea, i hui pū ʻia me ka ʻike e pili ana i ka mea kākau/helu/nānā, he ʻike maoli.

Telegram bot no kahi koho pilikino o nā ʻatikala mai Habr

Aia ma lalo o ka ʻokiʻoki nā kikoʻī e like me nā hiʻohiʻona o ka hana, ke kaʻina hana kākau a me nā ʻenehana loea.

E pili ana i ka bot

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

Bot ma ke kelepona: https://t.me/HabraFilterBot

Hoʻonohonoho ka mea hoʻohana i ka helu hou no nā hōʻailona a me nā mea kākau. Ma hope o kēlā, hoʻopili ʻia kahi kānana i nā ʻatikala - hoʻohui ʻia ka helu o ka ʻatikala ma Habré, ka helu mea hoʻohana a ka mea kākau a me ka awelika no nā helu mea hoʻohana ma ka hōʻailona. Inā ʻoi aku ka nui o ka nui ma mua o ka paepae i kuhikuhi ʻia e ka mea hoʻohana, a laila ua hala ka ʻatikala i ka kānana.

ʻO kahi pahuhopu ʻaoʻao o ke kākau ʻana i ka bot ka loaʻa ʻana o ka leʻaleʻa a me ka ʻike. Eia hou, hoʻomanaʻo mau wau iaʻu iho i kēlā ʻAʻole wau ʻo Google, a no laila ua hana ʻia nā mea he nui e like me ka maʻalahi a me ka primitively e like me ka hiki. Akā naʻe, ʻaʻole kēia i pale i ke kaʻina hana o ke kākau ʻana i ka bot mai ʻekolu mahina.

He kauwela ma waho

Ua pau ʻo Iulai, a ua hoʻoholo wau e kākau i kahi bot. A ʻaʻole wale nō, akā me kahi hoaaloha e aʻo ana i ka scala a makemake e kākau i kekahi mea ma luna. ʻIke maikaʻi ka hoʻomaka - ʻoki ʻia ke code e kahi hui, ua maʻalahi ka hana a manaʻo wau i loko o ʻelua pule a i ʻole mahina e mākaukau ka bot.

ʻOiai ʻo wau iho e kākau nei i ka code ma ka pōhaku i kēlā me kēia manawa no nā makahiki i hala iho nei, ʻaʻohe mea e ʻike a nānā paha i kēia code: nā papahana holoholona, ​​​​hoʻāʻo i kekahi mau manaʻo, preprocessing data, mastering some concepts from FP. Ua hoihoi loa au i ke ʻano o ke kākau ʻana i ke code i loko o kahi hui, no ka mea, hiki ke kākau ʻia ke code ma ka pōhaku ma nā ʻano like ʻole.

He aha ka mea i hiki ke hele no laila,? Eia naʻe, mai wikiwiki kākou.
Hiki ke nānā ʻia nā mea a pau me ka mōʻaukala commit.

Ua hana kahi kamaaina i kahi waihona ma Iulai 27, akā ʻaʻohe mea ʻē aʻe, no laila hoʻomaka wau e kākau i ke code.

ʻO 30 Iulai

Pōkole: Ua kākau au i ka hoʻopau ʻana i ka hānai rss a Habr.

  • com.github.pureconfig no ka heluhelu pololei ʻana i nā config typeafe i nā papa hihia (ua lilo ia i mea maʻalahi loa)
  • scala-xml no ka heluhelu ʻana i ka xml: mai ka wā mua makemake wau e kākau i kaʻu hoʻokō ponoʻī no ka hānai rss, a aia ka hānai rss i ka format xml, ua hoʻohana wau i kēia waihona no ka hoʻopau ʻana. ʻOiaʻiʻo, ua ʻike pū ʻia ka hoʻopili RSS.
  • scalatest no na hoao ana. ʻOiai no nā papahana liʻiliʻi, mālama nā hoʻokolohua kākau i ka manawa - no ka laʻana, i ka wā e hoʻopau ana i ka xml parsing, ʻoi aku ka maʻalahi o ka hoʻoiho ʻana i kahi faila, kākau i nā hoʻokolohua a hoʻoponopono i nā hewa. I ka wā i ʻike ʻia ai kahi pahu me ka hoʻokaʻawale ʻana i kekahi html ʻē aʻe me nā huaʻōlelo utf-8 hewa ʻole, ua ʻoi aku ka maʻalahi o ka waiho ʻana i loko o kahi faila a hoʻohui i kahi hōʻike.
  • mea keaka mai Akka. ʻO ka pahuhopu, ʻaʻole pono lākou, akā ua kākau ʻia ka papahana no ka leʻaleʻa, makemake wau e hoʻāʻo iā lākou. ʻO ka hopena, ua mākaukau wau e ʻōlelo ua makemake wau. Hiki ke nānā ʻia ka manaʻo o OOP mai kēlā ʻaoʻao - aia nā mea hana e hoʻololi i nā leka. ʻO ka mea ʻoi aku ka hoihoi, hiki iā ʻoe (a pono) ke kākau i ke code ma ke ʻano i hiki ʻole ai ka memo a i ʻole e hana ʻia (ma ka ʻōlelo maʻamau, ke holo nei ka moʻokāki ma ka kamepiula hoʻokahi, ʻaʻole e nalowale nā ​​​​memo). I ka wā mua e ʻokiʻoki ana au i koʻu poʻo a aia ka ʻōpala i loko o ke code me nā mea keaka e kau inoa ana kekahi i kekahi, akā i ka hopena ua hiki iaʻu ke hele mai me kahi hoʻolālā maʻalahi a nani. Hiki ke noʻonoʻo ʻia ke code i loko o kēlā me kēia mea keaka he kaula hoʻokahi; ke hāʻule ka mea hana, hoʻomaka hou ka acca - ʻo ka hopena he ʻōnaehana hoʻomanawanui hewa.

9 Aug

Ua hoʻohui au i ka papahana scala-scrapper no ka hoʻokaʻawale ʻana i nā ʻaoʻao html mai Habr (e huki i ka ʻike e like me ka helu ʻatikala, ka helu o nā bookmark, etc.).

A me nā pōpoki. ʻO nā mea i loko o ka pōhaku.

Telegram bot no kahi koho pilikino o nā ʻatikala mai Habr

A laila heluhelu wau i kahi puke e pili ana i nā ʻikepili i hoʻokaʻawale ʻia, makemake wau i ka manaʻo o CRDT (Conflict-free replicated data type, https://en.wikipedia.org/wiki/Conflict-free_replicated_data_type, habr), no laila ua hoʻopuka wau i kahi papa ʻano o kahi semigroup commutative no ka ʻike e pili ana i ka ʻatikala ma Habré.

ʻOiaʻiʻo, maʻalahi loa ka manaʻo - loaʻa iā mākou nā helu helu e hoʻololi monotonically. Ke ulu mālie nei ka helu o nā hoʻolaha, e like me ka helu o nā hoʻohui (a me ka helu o nā minus). Inā loaʻa iaʻu nā ʻano ʻelua o ka ʻike e pili ana i kahi ʻatikala, a laila hiki iaʻu ke "hoʻohui iā lākou i hoʻokahi" - ʻo ka mokuʻāina o ka counter i ʻoi aku ka nui e manaʻo ʻia ʻoi aku ka pili.

ʻO ka semigroup, ʻo ia hoʻi, hiki ke hoʻohui ʻia ʻelua mea me ka ʻike e pili ana i kahi ʻatikala i hoʻokahi. ʻO ke ʻano o Commutative hiki iā ʻoe ke hoʻohui iā A + B a me B + A, ʻaʻole pili ka hopena i ke kauoha, a ma ka hopena e mau ka mana hou. Ma ke ala, aia nō hoʻi ka pilina ma ʻaneʻi.

No ka laʻana, e like me ka mea i hoʻolālā ʻia, hāʻawi ʻo rss ma hope o ka hoʻopau ʻana i ka ʻike nāwaliwali e pili ana i ka ʻatikala - me ka ʻole o nā ana e like me ka helu o nā manaʻo. A laila lawe kekahi mea hana kūikawā i ka ʻike e pili ana i nā ʻatikala a holo i nā ʻaoʻao html e hoʻohou iā ia a hoʻohui pū me ka mana kahiko.

ʻO ka ʻōlelo maʻamau, e like me ka akka, ʻaʻohe pono o kēia, hiki iā ʻoe ke mālama i ka updateDate no ka ʻatikala a lawe i kahi mea hou me ka ʻole o ka hui ʻana, akā na ke ala o ka huakaʻi alakaʻi iaʻu.

12 Aug

Ua hoʻomaka wau e ʻoluʻolu a, no ka leʻaleʻa, hana wau i kēlā me kēia kamaʻilio ʻana i mea keaka ʻokoʻa. ʻO ka manaʻo, he 300 bytes ke kaumaha o kahi mea hana a hiki ke hana ʻia i nā miliona, no laila he ala maʻamau kēia. Me he mea lā iaʻu ua lilo ka hopena i mea hoihoi loa:

ʻO kekahi mea keaka he alahaka ma waena o ke kikowaena telegrama a me ka ʻōnaehana leka ma Akka. Ua loaʻa wale iā ia nā leka a hoʻouna iā lākou i ka mea keaka kamaʻilio makemake. Hiki i ka mea keaka kamaʻilio ke hoʻouna i kekahi mea ma ka pane - a e hoʻihoʻi ʻia i ka telegrama. ʻO ka mea maʻalahi loa, ua lilo kēia mea keaka i mea maʻalahi e like me ka hiki a loaʻa wale ka loiloi no ka pane ʻana i nā leka. Ma ke ala, hiki mai ka ʻike e pili ana i nā ʻatikala hou i kēlā me kēia kamaʻilio, akā ʻaʻole wau ʻike i kekahi pilikia i kēia.

Ma keʻano laulā, ua hana mua ka bot, e pane ana i nā memo, e mālama ana i kahi papa inoa o nā ʻatikala i hoʻouna ʻia i ka mea hoʻohana, a ke manaʻo nei au ua kokoke mākaukau ka bot. Ua hoʻohui mālie au i nā hiʻohiʻona liʻiliʻi e like me ka hoʻololi ʻana i nā inoa mea kākau a me nā hōʻailona (hoʻololi i ka "sd f" me "s_d_f").

Hoʻokahi wale nō mea i koe uuku aka — ʻaʻole i hoʻopakele ʻia ka mokuʻāina ma nā wahi āpau.

Ua hewa nā mea a pau

Ua ʻike paha ʻoe ua kākau wale wau i ka bot. No laila, ua komo ka lua o ka mea komo i ka hoʻomohala ʻana, a ua ʻike ʻia nā loli aʻe i ke code:

  • Ua ʻike ʻia ʻo MongoDB e mālama i ka mokuʻāina. I ka manawa like, ua haki nā lāʻau i loko o ka papahana, no kekahi kumu i hoʻomaka ai ʻo Monga i ka spamming iā lākou a ua hoʻohuli wale kekahi poʻe iā lākou a puni ka honua.
  • Ua hoʻololi ʻia ka mea hana alahaka ma Telegram ma mua o ka ʻike ʻia a hoʻomaka ʻo ia e hoʻopaʻa i nā leka iā ia iho.
  • Ua ʻoki ʻia nā mea hana keaka no ke kamaʻilio ʻana, a ua pani ʻia lākou e kahi mea keaka nāna i hūnā i nā ʻike āpau e pili ana i nā kamaʻilio āpau i ka manawa hoʻokahi. No kēlā me kēia kihe, ua pilikia kēia mea keaka. ʻAe, ʻae, e like me ka wā e hoʻonui ai i ka ʻike e pili ana i kahi ʻatikala, paʻakikī ka hoʻouna ʻana iā ia i nā mea keaka kamaʻilio āpau (ua like mākou me Google, ke kali nei nā miliona o nā mea hoʻohana i hoʻokahi miliona mau ʻatikala ma ke kamaʻilio no kēlā me kēia), akā i kēlā me kēia manawa e hoʻonui ʻia ke kamaʻilio. he mea maʻamau ke hele i Monga. E like me kaʻu i ʻike nui ai ma hope, ua ʻoki loa ʻia ka loiloi hana o nā kamaʻilio ʻana a ma kona wahi ua ʻike ʻia kahi mea hana ʻole.
  • ʻAʻohe wahi i koe o nā papa ʻano.
  • Ua ʻike ʻia kekahi loiloi maikaʻi ʻole i nā mea hana me kā lākou kau inoa ʻana i kekahi i kekahi, e alakaʻi ana i kahi kūlana lāhui.
  • Nā hale ʻikepili me nā kahua o ke ʻano Option[Int] ua hoʻololi ʻia i Int me nā waiwai maʻamau e like me -1. Ma hope mai ua ʻike au ua mālama ʻo mongoDB iā json a ʻaʻohe hewa i ka mālama ʻana ma laila Option maikaʻi, a i ʻole parse -1 e like me ʻAʻole, akā i kēlā manawa ʻaʻole wau i ʻike i kēia a lawe wau i kaʻu ʻōlelo no ia mea "ʻo ia ke ʻano." ʻAʻole wau i kākau i kēlā code, a ʻaʻole wau i pilikia i ka hoʻololi ʻana i ia no ka manawa.
  • Ua ʻike au e loli ana kaʻu helu IP lehulehu, a i kēlā me kēia manawa aʻu e hoʻohui ai i ka papa inoa keʻokeʻo o Mongo. Ua hoʻokuʻu au i ka bot ma ka ʻāina, aia ʻo Monga ma kahi o nā kikowaena o Monga ma ke ʻano he hui.
  • ʻAʻole naʻe, nalowale ka hana maʻamau o nā hōʻailona a me ka hoʻopili ʻana i nā leka no nā telegrams. (Hmm, no ke aha ia?)
  • Makemake au i ka mālama ʻia ʻana o ka mokuʻāina o ka bot i loko o kahi waihona waho, a ke hoʻomaka hou e hoʻomau ʻia ka hana me he mea lā ʻaʻohe mea i hana. Eia naʻe, ʻo kēia wale nō ka mea hoʻohui.

ʻAʻole wikiwiki ka lua o ka mea, a ua ʻike ʻia kēia mau hoʻololi āpau i hoʻokahi puʻu nui i ka hoʻomaka ʻana o Kepakemapa. ʻAʻole wau i mahalo koke i ka nui o ka hopena o ka luku a hoʻomaka e hoʻomaopopo i ka hana o ka waihona, no ka mea... ʻAʻole au i hana mua iā lākou. Ma hope wale nō wau i ʻike ai i ka nui o nā code hana i ʻoki ʻia a me ka nui o nā pōpoki i hoʻohui ʻia ma kona wahi.

Kepakemapa

I ka wā mua, manaʻo wau he mea pono ke haku iā Monga a hana maikaʻi. A laila, hoʻomaka mālie wau e hoʻomaopopo ʻo ka hoʻonohonoho ʻana i ke kamaʻilio me ka waihona ʻikepili he kiʻi ia e hiki ai iā ʻoe ke hana i nā lāhui he nui a hana hewa wale. No ka laʻana, inā loaʻa i ka mea hoʻohana ʻelua memo like /subscribe - a ma ka pane ʻana i kēlā me kēia e hana mākou i kahi komo i ka papaʻaina, no ka mea i ka manawa o ka hoʻoponopono ʻana i kēlā mau memo ʻaʻole i kākau inoa ʻia ka mea hoʻohana. Manaʻo wau ʻaʻole i kākau ʻia ke kamaʻilio me Monga ma ke ʻano o kēia manawa ma ke ala maikaʻi loa. No ka laʻana, ua hana ʻia nā hoʻonohonoho o ka mea hoʻohana i ka manawa āna i kau inoa ai. Inā ho'āʻoʻo ia e hoʻololi iā lākou ma mua o kaʻoiaʻiʻo o ke kau inoa ...ʻaʻole i pane ka bot i kekahi mea, no ka mea, ua komo ke code i ka mea hana i ka waihona no nā hoʻonohonoho,ʻaʻole i loaʻa a hāʻule. I ka nīnauʻiaʻana no ke aha e hanaʻole ai i nā hoʻonohonoho e like me ka mea e pono ai, ua aʻo auʻaʻole pono e hoʻololi iā lākou ināʻaʻole i kākau inoa ka mea hoʻohana ... Ua hanaʻia ka'ōnaehana kānana memo ma kekahiʻanoʻikeʻole, a ma hope o ka nānā ponoʻana i ke code hiki iaʻu. ʻaʻole maopopo inā i manaʻo ʻia ma kēia ala i ka wā mua a i ʻole he hewa ma laila.

ʻAʻohe papa inoa o nā ʻatikala i waiho ʻia i ke kamaʻilio; akā, ua manaʻo ʻia e kākau wau iā lākou iho. Pīhoihoi kēia iaʻu - ma ka laulā, ʻaʻole wau i kūʻē i ka huki ʻana i nā ʻano mea āpau i loko o ka papahana, akā kūpono ia no ka mea nāna i lawe mai i kēia mau mea a hoʻopaʻa iā lākou. Akā ʻaʻole, ua like ka haʻalele ʻana o ka lua i nā mea āpau, akā ua ʻōlelo ʻo ka papa inoa i loko o ke kamaʻilio ʻana he hopena maikaʻi ʻole, a pono e hana i kahi hōʻailona me nā hanana e like me "ua hoʻouna ʻia kahi ʻatikala y i ka mea hoʻohana x." A laila, inā noi ka mea hoʻohana e hoʻouna i nā ʻatikala hou, pono ia e hoʻouna i kahi noi i ka waihona, e koho i nā hanana e pili ana i ka mea hoʻohana mai nā hanana, loaʻa pū kekahi papa inoa o nā ʻatikala hou, kānana iā lākou, hoʻouna iā lākou i ka mea hoʻohana. a hoʻolei i nā hanana e pili ana i kēia i loko o ka waihona.

Ua lawe ʻia ka lua o ka mea komo ma kahi o nā abstractions, i ka wā e loaʻa ai ka bot i nā ʻatikala mai Habr a hoʻouna ʻia ʻaʻole i ka telegrama wale nō.

Ua hoʻokō au i nā hanana ma ke ʻano o kahi hōʻailona kaʻawale no ka hapa lua o Kepakemapa. ʻAʻole maikaʻi, akā ma ka liʻiliʻi ua hoʻomaka ka bot a hoʻomaka e hoʻouna hou mai iaʻu i nā ʻatikala, a noʻonoʻo mālie wau i ka mea e hana nei i ke code.

I kēia manawa hiki iā ʻoe ke hoʻi i ka hoʻomaka a hoʻomanaʻo ʻaʻole i hana mua ʻia ka waihona e aʻu. He aha ka mea i hiki ke hele e like me kēia? Ua hōʻole ʻia kaʻu noi huki. Ua loaʻa iaʻu he code redneck, ʻaʻole wau i ʻike pehea e hana ai i kahi hui, a pono wau e hoʻoponopono i nā pōpoki i ka pihi hoʻokō o kēia manawa, a ʻaʻole e hoʻomaʻemaʻe i kahi kūlana hoʻohana.

Ua huhū au a nānā i ka mōʻaukala commit a me ka nui o nā code i kākau ʻia. Ua nānā au i nā manawa i kākau maikaʻi ʻia, a laila ua haki ʻia i hope...

F*rk ia

Hoʻomanaʻo wau i ka ʻatikala ʻAʻole ʻoe ʻo Google.

Ua manaʻo wau ʻaʻole pono kekahi i kahi manaʻo me ka hoʻokō ʻole. Manaʻo wau makemake wau e loaʻa i kahi bot hana, e hana ana i hoʻokahi kope hoʻokahi ma hoʻokahi kamepiula hoʻokahi ma ke ʻano he polokalamu java maʻalahi. ʻIke wau e hana kaʻu bot no nā mahina me ka hoʻomaka ʻole ʻana, ʻoiai ua kākau mua wau i nā bots i ka wā ma mua. Inā hāʻule koke a hoʻouna ʻole i ka mea hoʻohana i kahi ʻatikala ʻē aʻe, ʻaʻole e hāʻule ka lani i ka honua a ʻaʻohe mea pōʻino e hiki mai.

No ke aha e pono ai iaʻu iā Docker, mongoDB a me nā moʻomeheu ukana ʻē aʻe o ka polokalamu "koʻikoʻi" inā ʻaʻole hana a hana hewa paha ke code?

Ua ʻoki au i ka papahana a hana i nā mea a pau e like me kaʻu i makemake ai.

Telegram bot no kahi koho pilikino o nā ʻatikala mai Habr

I ka manawa like, ua hoʻololi au i nā hana a ua nele loa ka manawa manuahi. I ke kakahiaka ua ala au ma luna o ke kaʻaahi, i ke ahiahi ua hoʻi lohi wau a ʻaʻole makemake hou e hana i kekahi mea. ʻAʻole wau i hana i kekahi manawa, a laila ua lanakila ka makemake e hoʻopau i ka bot, a hoʻomaka wau e kākau lohi i ke code i koʻu holo ʻana i ka hana i ke kakahiaka. ʻAʻole wau e ʻōlelo he mea huahua ia: ʻo ka noho ʻana ma ke kaʻaahi haʻalulu me kahi pona ma kou ʻūhā a ʻo ka nānā ʻana i ke kahe ʻana mai kāu kelepona ʻaʻole kūpono loa. Eia naʻe, ua lele ka manawa i kākau ʻia me ka ʻike ʻole ʻia, a ua hoʻomaka ka papahana e neʻe mālie i kahi kūlana hana.

Ma kahi ma hope o koʻu noʻonoʻo aia kahi ilo o ka kānalua e makemake ana e hoʻohana i ka mongoDB, akā manaʻo wau he mea hoʻohui i nā mea maikaʻi o ka mālama ʻana i ka mokuʻāina "hilinaʻi", aia kekahi mau hemahema:

  • Lilo ka waihona i kekahi wahi hemahema.
  • ʻOi aku ka paʻakikī o ke code, a ʻoi aku ka lōʻihi o kaʻu kākau ʻana.
  • E lohi a hiki ʻole ke code; ma kahi o ka hoʻololi ʻana i kahi mea i ka hoʻomanaʻo, hoʻouna ʻia nā loli i ka waihona a, inā pono, huki ʻia.
  • Aia nā kapu i ke ʻano o ka mālama ʻana i nā hanana i kahi papa ʻokoʻa, i pili pū me nā ʻano o ka waihona.
  • He mau palena ko ka mana hoʻāʻo o Monga, a inā ʻoe e holo i loko o lākou, pono ʻoe e hoʻomaka a hoʻonohonoho iā Monga ma kekahi mea.

Ua ʻoki au i ka monga, i kēia manawa ua mālama ʻia ka mokuʻāina o ka bot i ka hoʻomanaʻo o ka papahana a mālama ʻia i kēlā me kēia manawa i kahi faila ma ke ʻano o json. Malia paha ma nā ʻōlelo a lākou e kākau ai ua hewa wau, ʻo ia kahi e hoʻohana ʻia ai ka waihona, etc. Akā ʻo kēia kaʻu papahana, ʻo ke ala me ka faila maʻalahi e like me ka hiki a hana ʻia ma ke ʻano maopopo.

Kiola i nā waiwai kilokilo e like me -1 a hoʻihoʻi i nā mea maʻamau Option, hoʻohui ʻia kahi waiho ʻana o kahi papa hash me nā ʻatikala i hoʻihoʻi ʻia i ka mea me ka ʻike kamaʻilio. Hoʻohui i ka holoi ʻana i ka ʻike e pili ana i nā ʻatikala ma mua o ʻelima mau lā, i ʻole e mālama i nā mea āpau. Ua lawe au i ka logging i kahi kūlana hana - ua kākau ʻia nā lāʻau i nā nui kūpono i ka faila a me ka console. Hoʻohui i kekahi mau kauoha admin e like me ka mālama ʻana i ka mokuʻāina a i ʻole ka loaʻa ʻana o nā helu e like me ka helu o nā mea hoʻohana a me nā ʻatikala.

Hoʻopaʻa i kahi pūʻulu o nā mea liʻiliʻi: no ka laʻana, no nā ʻatikala ka helu o nā manaʻo, makemake, makemake ʻole a me nā manaʻo i ka manawa i hala i ka kānana o ka mea hoʻohana. Ma keʻano laulā, he mea kupanaha ka nui o nā mea liʻiliʻi e hoʻoponopono ʻia. Ua mālama au i kahi papa inoa, ʻike i nā "hewa" āpau ma laila a hoʻoponopono iā lākou i ka hiki.

No ka laʻana, ua hoʻohui au i ka hiki ke hoʻonohonoho pololei i nā hoʻonohonoho āpau i hoʻokahi memo:

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

A me kekahi hui /settings hōʻike pololei iā lākou i kēia palapala, hiki iā ʻoe ke lawe i ka kikokikona mai ia mea a hoʻouna i nā hoʻonohonoho āpau i kahi hoaaloha.
Me he mea lā he mea liʻiliʻi, akā he mau haneli o nā nuances like.

Ua hoʻokō ʻia ka kānana ʻatikala ma ke ʻano o ke ʻano laina laina maʻalahi - hiki i ka mea hoʻohana ke hoʻonohonoho i kahi helu hou no nā mea kākau a me nā hōʻailona, ​​a me ka waiwai paepae. Inā ʻoi aku ka nui o ka helu o ka mea kākau, ka helu awelika no nā hōʻailona a me ka helu maoli o ka ʻatikala ma mua o ka waiwai paepae, a laila hōʻike ʻia ka ʻatikala i ka mea hoʻohana. Hiki iā ʻoe ke noi i ka bot no nā ʻatikala me ke kauoha / hou, a i ʻole e kau inoa i ka bot a e hoʻouna ʻo ia i nā ʻatikala ma kahi leka pilikino i kēlā me kēia manawa o ka lā.

Ma ka ʻōlelo maʻamau, loaʻa iaʻu kahi manaʻo no kēlā me kēia ʻatikala e huki i nā hiʻohiʻona hou aʻe (hubs, helu o nā manaʻo, bookmarks, dynamics of rating change, number of text, pictures and code in the article, keywords), a hōʻike i ka mea hoʻohana i kahi ok/ ʻAʻole maikaʻi e koho ma lalo o kēlā me kēia ʻatikala a hoʻomaʻamaʻa i kahi kumu hoʻohālike no kēlā me kēia mea hoʻohana, akā ua palaualelo wau.

Eia kekahi, ʻaʻole e ʻike maopopo ʻia ka loiloi o ka hana. I kēia manawa hiki iaʻu ke hoʻonohonoho lima i ka helu o +9000 no ka patientZero a me ka helu paepae o +20 e hōʻoiaʻiʻo ʻia wau e loaʻa i kāna mau ʻatikala āpau (koe naʻe, ʻoiaʻiʻo, hoʻonoho wau -100500 no kekahi mau hōʻailona).

Ua maʻalahi ka hoʻolālā hope loa:

  1. He mea keaka e mālama i ke kūlana o nā kamaʻilio a me nā ʻatikala. Hoʻouka ia i kona mokuʻāina mai kahi faila ma ka disk a mālama iā ia i kēlā me kēia manawa, i kēlā me kēia manawa i kahi faila hou.
  2. He mea keaka e kipa i ka RSS feed i kēlā me kēia manawa, aʻo e pili ana i nā ʻatikala hou, nānā i nā loulou, hoʻopaʻa ʻia, a hoʻouna i kēia mau ʻatikala i ka mea keaka mua. Eia kekahi, i kekahi manawa noi i ka papa inoa o nā ʻatikala mai ka mea keaka mua, koho i nā mea ʻaʻole i ʻoi aku ma mua o ʻekolu mau lā, akā ʻaʻole i hoʻonui ʻia no ka manawa lōʻihi, a hoʻonui iā lākou.
  3. He mea keaka e kamaʻilio me ka telegrama. Ua lawe mau au i ka memo parsing loa maʻaneʻi. Ma ke ʻano ʻoluʻolu, makemake wau e hoʻokaʻawale iā ia i ʻelua - i hoʻopaʻa ʻia kekahi i nā memo e hiki mai ana, a ʻo ka lua e pili ana i nā pilikia o ka lawe ʻana e like me ka hoʻouna hou ʻana i nā memo i hoʻouna ʻole ʻia. I kēia manawa ʻaʻohe hoʻouna hou ʻana, a ʻo kahi memo i hiki ʻole mai ma muli o kahi hewa e nalowale wale ana (koe ke ʻike ʻia i loko o nā lāʻau), akā i kēia manawa ʻaʻole ia i pilikia. Malia paha e kū mai nā pilikia inā hoʻopaʻa inoa ka poʻe i ka bot a hiki wau i ka palena no ka hoʻouna ʻana i nā leka).

ʻO kaʻu mea i makemake ai, mahalo iā akka, ʻaʻole pili ka hāʻule o nā mea hana 2 a me 3 i ka hana o ka bot. ʻAʻole paha i hōʻano hou ʻia kekahi mau ʻatikala i ka manawa a i ʻole hiki i kekahi mau memo i ka telegrama, akā hoʻomaka ka moʻolelo i ka mea hana a hoʻomau nā mea a pau. Mālama wau i ka ʻike i hōʻike ʻia ka ʻatikala i ka mea hoʻohana i ka wā i pane mai ai ka mea hana telegram ua hoʻopuka maikaʻi ʻo ia i ka leka. ʻO ka mea ʻino loa e hoʻoweliweli iaʻu ʻo ka hoʻouna ʻana i ka leka i nā manawa he nui (inā hāʻawi ʻia, akā ua nalowale ka hōʻoia). Ma ke kumu, inā ʻaʻole mālama ka mea hana mua i ka mokuʻāina i loko ona, akā kamaʻilio pū me kekahi ʻikepili, a laila hiki iā ia ke hāʻule me ka ʻike ʻole a hoʻi i ke ola. Hiki iaʻu ke hoʻāʻo i ka hoʻomau ʻana e hoʻihoʻi i ke kūlana o nā mea hana, akā kūpono ka hoʻokō o kēia manawa iaʻu me kona maʻalahi. ʻAʻole ia no ka hāʻule pinepine ʻana o kaʻu code - akā naʻe, ua hoʻoikaika nui wau i ka hiki ʻole. Akā, hiki mai ka pōʻino, a ʻo ka hiki ke wāwahi i ka papahana i nā ʻāpana kaʻawale-nā mea hana i mea maʻalahi a kūpono iaʻu.

Ua hoʻohui au i ka pōʻai-ci a inā e haki ke code, e ʻike koke ʻoe. Ma ka liʻiliʻi loa, ʻo ia ka mea ua pau ke code i ka hoʻopili ʻana. I ka hoʻomaka ʻana makemake wau e hoʻohui i ka travis, akā hōʻike wale ia i kaʻu mau papahana me ka ʻole o nā ʻōpala. Ma keʻano laulā, hiki ke hoʻohana manuahi ʻia kēia mau mea ʻelua i nā waihona wehe.

Nā hopena

Ua hala ʻo Nowemapa. Ua kākau ʻia ka bot, ua hoʻohana au iā ia no nā pule ʻelua i hala a makemake wau. Inā loaʻa iā ʻoe nā manaʻo no ka hoʻomaikaʻi ʻana, e kākau. ʻAʻole au i ʻike i ke kumu o ka hoʻolilo kālā - e hana wale a hoʻouna i nā ʻatikala hoihoi.

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

Nā hopena liʻiliʻi:

  • Hiki i kahi papahana liʻiliʻi ke lawe i ka manawa nui.
  • ʻAʻole ʻoe ʻo Google. ʻAʻohe kumu o ka pana ʻana i nā manu liʻiliʻi mai ka pū. Hiki ke hana like ka hoʻonā maʻalahi.
  • He maikaʻi loa nā papahana holoholona no ka hoʻokolohua me nā ʻenehana hou.
  • Ua kākau maʻalahi nā bots Telegram. Inā ʻaʻole no ka "hana hui" a me nā hoʻokolohua me ka ʻenehana, ua kākau ʻia ka bot i hoʻokahi pule a ʻelua paha.
  • He mea hoihoi ke kŘkohu mea keaka me ka code multi-threading a me ka hewa-tolerant code.
  • Manaʻo wau ua loaʻa iaʻu kahi ʻono o ke kumu i makemake ai ke kaiāulu open source i nā ʻōpala.
  • Maikaʻi nā waihona ʻikepili no ka mea ʻaʻole hilinaʻi ka mokuʻāina noi i ka hāʻule ʻana/hoʻomaka hou ʻana o ka noi, akā ʻo ka hana ʻana me kahi waihona e hoʻopiʻi i ke code a kau i nā kaohi i ka hoʻolālā ʻikepili.

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka