Thread overview
DUB packages announce Telegram bot
Apr 22, 2018
Denis Feklushkin
Apr 22, 2018
Seb
Apr 22, 2018
Denis Feklushkin
Apr 23, 2018
Seb
Apr 23, 2018
Denis Feklushkin
Jul 30, 2022
Murilo
April 22, 2018
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

April 22, 2018
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...
April 22, 2018
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.


April 23, 2018
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
April 23, 2018
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!
July 30, 2022
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

Hi Denis, I'm checking out the source code on github to try to figure it out but could you help me learn how to make a Telegram bot?