this post was submitted on 08 Jan 2024
3 points (100.0% liked)

Opensource

1338 readers
28 users here now

A community for discussion about open source software! Ask questions, share knowledge, share news, or post interesting stuff related to it!

CreditsIcon base by Lorc under CC BY 3.0 with modifications to add a gradient



founded 1 year ago
MODERATORS
 

Note that unless you're a Lemmy instance admin, this doesn't have much use to you.

Until this package came along, if you wanted a bot that responds to events, you had to manually traverse all comments/posts/whatever at a fixed interval. With this package you can actually react to events directly from the database. It's implemented in a very efficient way by connecting the package directly to the Lemmy database and using native Postgres features to get the events (LISTEN/NOTIFY if you want to get technical).

The webhooks themselves are inserted into a separate SQLite database (API is coming) and allow for both simple and complex filtering of the incoming data. The system is already in use by two of my bots, @ChatGPT@lemmings.world and @DallE@lemmings.world who now both receive the information about being tagged in a comment in seconds (the actual reply takes a little longer, but that's because of the nature of the bot).

Currently you can be notified about a post or a comment, other types are trivial to include as well.

Let me know what you think!

top 3 comments
sorted by: hot top controversial new old
[–] onlinepersona@programming.dev -1 points 10 months ago (1 children)

Hold on, so the events are put into an SQLite database and in the future an API will come? I'm a little confused. From reading the description I thought this would call a HTTP endpoint with a JSON payload, but instead the consumer will have to poll an SQLDB or an API in the future?

CC BY-NC-SA 4.0

[–] rikudou@lemmings.world 0 points 10 months ago (1 children)

Sorry, bad wording. The README of the package should be clearer.

But in short, this package takes care of the low level interaction with the database and you define the webhooks you're interested in yourself.

So if you want to create a http request every time someone creates a comment with a specific username in the text, you configure it as a webhook in the SQLite database and next time it happens, the URL will be called.

By the api I meant that in the future you'll be able to manage the webhooks using an api instead of inserting them directly into the db.

[–] onlinepersona@programming.dev -1 points 10 months ago

Ooooh! Alright. That didn't come across that way. Github supports graphs (mermaid?). It might help to have there as I might not be the only one misunderstanding.

Cool project! Should probably be part of lemmy itself!

CC BY-NC-SA 4.0