www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - DUB packages announce Telegram bot

reply Denis Feklushkin <feklushkin.denis gmail.com> writes:
Hi!

I also made a tool which periodically monitors code.dlang.org for 
new packages and a notifies its Telegram subscribers.

To subscribe just write something to  dlang_announce_bot
Also it can be added to groups.

Code: https://github.com/denizzzka/paper_plane_bot
Apr 22
parent reply Seb <seb wilzba.ch> writes:
On Sunday, 22 April 2018 at 07:49:00 UTC, Denis Feklushkin wrote:
 Hi!

 I also made a tool which periodically monitors code.dlang.org 
 for new packages and a notifies its Telegram subscribers.

 To subscribe just write something to  dlang_announce_bot
 Also it can be added to groups.

 Code: https://github.com/denizzzka/paper_plane_bot
Cool! BTW any reason why you parse the HTML and not use the JSON index? Also adding a new API route to the dub registry might be a bit API friendlier then fetching all packages on every cron operation. Generating the index JSON is rather expensive (until a few recent fixes, you could kill the registry by requesting the index.json a few times in a row). Though of course the dub registry (or its reverse proxy) could cache the result for a bit...
Apr 22
parent reply Denis Feklushkin <feklushkin.denis gmail.com> writes:
On Sunday, 22 April 2018 at 07:59:11 UTC, Seb wrote:
 On Sunday, 22 April 2018 at 07:49:00 UTC, Denis Feklushkin 
 wrote:
 Hi!

 I also made a tool which periodically monitors code.dlang.org 
 for new packages and a notifies its Telegram subscribers.

 To subscribe just write something to  dlang_announce_bot
 Also it can be added to groups.

 Code: https://github.com/denizzzka/paper_plane_bot
Cool! BTW any reason why you parse the HTML and not use the JSON index?
As I know, code.dlang.org provides JSON package list without any additional info. Thus, it is need to parse every package separately by calling https://code.dlang.org/packages/*.json to get packages versions, and it is need to do for every registerd package.
Apr 22
parent reply Seb <seb wilzba.ch> writes:
On Sunday, 22 April 2018 at 08:41:36 UTC, Denis Feklushkin wrote:
 On Sunday, 22 April 2018 at 07:59:11 UTC, Seb wrote:
 On Sunday, 22 April 2018 at 07:49:00 UTC, Denis Feklushkin 
 wrote:
 Hi!

 I also made a tool which periodically monitors code.dlang.org 
 for new packages and a notifies its Telegram subscribers.

 To subscribe just write something to  dlang_announce_bot
 Also it can be added to groups.

 Code: https://github.com/denizzzka/paper_plane_bot
Cool! BTW any reason why you parse the HTML and not use the JSON index?
As I know, code.dlang.org provides JSON package list without any additional info. Thus, it is need to parse every package separately by calling https://code.dlang.org/packages/*.json to get packages versions, and it is need to do for every registerd package.
Hmm, I just wanted to point out that in the time it took you to write the HTML parser, you could have added an API method to the registry: https://github.com/dlang/dub-registry/blob/master/source/dubregistry/api.d I created an issue, s.t. this isn't lost in the NG space: https://github.com/dlang/dub-registry/issues/326 Oh and the reason why I point out that parsing the HTML isn't ideal, it's because it might change soon, e.g. https://github.com/dlang/dub-registry/pull/303
Apr 23
parent Denis Feklushkin <feklushkin.denis gmail.com> writes:
On Monday, 23 April 2018 at 16:10:47 UTC, Seb wrote:
 On Sunday, 22 April 2018 at 08:41:36 UTC, Denis Feklushkin 
 wrote:
 On Sunday, 22 April 2018 at 07:59:11 UTC, Seb wrote:
 On Sunday, 22 April 2018 at 07:49:00 UTC, Denis Feklushkin 
 wrote:
 Hi!

 I also made a tool which periodically monitors 
 code.dlang.org for new packages and a notifies its Telegram 
 subscribers.

 To subscribe just write something to  dlang_announce_bot
 Also it can be added to groups.

 Code: https://github.com/denizzzka/paper_plane_bot
Cool! BTW any reason why you parse the HTML and not use the JSON index?
As I know, code.dlang.org provides JSON package list without any additional info. Thus, it is need to parse every package separately by calling https://code.dlang.org/packages/*.json to get packages versions, and it is need to do for every registerd package.
Hmm, I just wanted to point out that in the time it took you to write the HTML parser, you could have added an API method to the registry:
No, because my target was "obtain working bot as fast as possible" Thanks for your PR!
Apr 23