Find a file
2024-02-03 08:51:18 +01:00
res FIX typo, refactor config structure 2024-01-08 03:30:26 +01:00
src/rss_thread_watch Bump copyrights, sync 2024-02-03 08:51:18 +01:00
test/rss_thread_watch Bump copyrights, sync 2024-02-03 08:51:18 +01:00
.gitignore Added redirect on no params request 2023-12-24 02:41:53 +01:00
LICENSE Initiall commit with README 2023-12-21 01:06:57 +01:00
project.clj Refactor generic functions to separate utils namespace, finaly bump version 2024-01-05 01:45:41 +01:00
README.org Fix bug where incorrect time was appended to GUID on param repeat=true 2023-12-28 14:39:27 +01:00

RSS based thread watcher

Get notifications from your feed reader when your favourite mlp thread is about to die

Usage

  1. Open your RSS feed reader (you have one right?)
  2. Add your custom URL (see getting custom URL)
  3. Enable notifications in your feed reader and set update interval to 5minutes or more (you can set less but the feed is updated only every 5 minutes)
  4. Profit! RSS feed will include only the threads matching your querry so every notification your feed reader will send means your watched thread is about to die

NOTE THAT THIS IS AN ALPHA RELEASE, IF YOUR THREAD DIES BECAUSE OF RSS-WATCHER MALLFUNCTION DO NOT BLAME ME pls

Getting custom URL

URL without any params (just /feed.xml) won't work. You must specify at least one q. See bellow.

Crafting URL by hand

Right now there is no automated way to generate your feed url but making one by hand is fairly simple.

URL parameters
Param name Values [default] Can have multiple? Mandatory? Short description
board "mlp" No No (not implemented) Which board to generate feed for, ONLY /mlp/ is supported
q nil Yes Yes (1 or more) This string is used to filter threads according to their titles
chod 60-99 [94] No No CHanceOfDeath - will include thread in the feed if it's chance to death i > chod
repeat true, paranoid, [false] No No (partly implemented) Whether to make new notification on every server update even when thread doesnt have higher chod
recreate bool Not implemented Not implemented Whether to notify when creation of new thread matching querry is detected (uses 4chans RSS)
How to create URL

Standart rules of URLs apply, if you know how to pass params in URL to any website, you don't even have to read this

  • Open some text editor
  • Paste in default URL: https://tools.treebrary.org/thread-watcher/feed.xml? (you can use plain HTTP if you want to)
  • Now you can append any of the supported parameters (which you can find in the above table):
  • For example if we want to be informed about threads with "cute" in their title

    • q=cute which would make https://tools.treebrary.org/thread-watcher/feed.xml?q=cute
  • If you want more than one param, separate with &, for example:

    • q=cute and q=pretty would be https://tools.treebrary.org/thread-watcher/feed.xml?q=cute&q=pretty
  • Same is true for when you also want to specify ChoD

    • https://tools.treebrary.org/thread-watcher/feed.xml?q=cute&q=pretty&chod=98
    • This will only notify you about threads that:

      • Have cute or pretty in their title
      • Are in the lowest 98% part of catalog (it's on position ~147/150 e.g. 3 threads before being bumped off)
  • Note that // are not special characters q=/general/ will work as expected and match thread with "/general/" in it's title
  • Also note that regex is NOT supported for now, so something like q=rainbow* will only match threads with "rainbow" followed immedidatelly by * in their title

Generating URL interactively

Coming soon

Limitations

This is an experimental project. There are several limitations:

  • Only supported board is /mlp/ (You can choose your own when self hosting)
  • Only searched threads are those who are in the 50% closer to death part of the catalog

Bugs

See issues

Feature set

  • Planned/finnished features [23%]

    • [DONE] Super basic features done (feed, query, repeat)
    • Have proper sorting - The most likely to die threads first
    • No params request should redirect to url generator or (for now) documentation
    • Config file instead of hardcoding config values
    • Include time of latest data fetch
    • Make threads have preview images taken from the actuall thread OP
    • Show which query matched the thread you were notified of
    • Option to include advanced HTML formating of text (different color text for ChoD etc)
    • Support notification on watched thread re-creation after it died
    • Support notification for thread death
    • Support multiple boards at once
    • Support async responses
    • Graal VM support for native configuration

Self hosting

This is not supported until release 1.0. You can do it if you figure it out (probably not that hard tbh) but there will be much more detailed instructions in the future.

Prebuilt

There will be instructions at some point I promise. Until then you can download binaries from the releases page and run them like you would any other java executable, default port is 6969.

And you need Java for now if that isn't clear.

$ java -jar whatEverNameTheReleaseHas.jar~

From source

If you know Clojure, then just clone and build with lein. If you don't either RTFM to lein or wait before instructions will be avaiabile here.

Configuring

Self hosting is not supported at the moment so no configuration for you.

Contributing

See

License - AGPL3

Copyright © 2023 Felisp

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, version 3 of the License.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.