the-convocation / venat

open source ffxiv community discord bot that's incredibly easy to self-host
GNU Affero General Public License v3.0
16 stars 6 forks source link

Implement a Core Alert plugin with methods to use it from non-core plugins #72

Open MKhayle opened 2 years ago

MKhayle commented 2 years ago

Describe the solution you'd like A Core feature to add an alert plugin system for automated, event & time-based triggers with methods to support external alerts from potential non-core plugins such as an Event plugin (#78) or a Weather plugin (#87).

Describe alternatives you've considered Implement it as a non-core plugin for alerts if considered unfit as a Core feature.

Additional context context

karashiiro commented 2 years ago

This is a good idea, maybe we could wrap a proper scheduler along the lines of Quartz.NET, and let plogons modules register jobs with that wrapper.

karashiiro commented 2 years ago

The only issue is that almost everything seems to use Redis exclusively as a backing store.

karashiiro commented 2 years ago

I'm assuming that comparison table is a comprehensive list of well-maintained solutions (it may not be), which case we'd have a few options with different costs:

  1. Use something off-the-shelf. This is the easiest option, but it means adding another service to our deployment model.
  2. Use something off-the-shelf and find/create a translation layer that allows us to use postgres (this doesn't seem to exist, although the opposite does. Designing this would probably be more complex than it sounds.
  3. Create our own scheduler that can use postgres.