12 lines
846 B
Markdown
Executable File

# TODO
## 0.0.2
### Filters
* Basic mechanism for filtering out messages between modules.
* Filter tags are of the type `key:value` (e.g. `type:message`, `username:Kuschelyagi`)
* Each individual filter is a stack of one or more filter values.
* Event must match AT LEAST one of these filters IN FULL in order to be accepted.
* For example, module `foo` declares `filters = [["username:Kuschelyagi", "channel:shitpost"]]`. This is a single filter with two tag conditions. This means events must match on BOTH tags to be accepted by `foo`
* If, on the other hand, module `foo` instead declares `filters = ["username:Kuschelyagi", "channel:shitpost"]` then these are separate filters and the event must only match on ONE of them.
* Other proposed filter notations:
* `filters = [{ username = "Kuschelyagi", channel = "shitpost" }]`