Currently the tool goes to /r/mod/about/modqueue.json
This is an aggregate queue for all reddits that the user moderates.
It may be that the user wants to apply different rulesw to different reddits - for example some of them may allow posts to bit.ly, while others may not.
A mod may want to apply a whitelist for posts to one reddit, while applying a blacklist to posts for another reddit.
There ought to be a way to configure this.
I can imagine inserting a new dropdown in the settings box that allows the user to specify the reddit to check.
Then there'd be an entire batch of settings (not login and preferred browser, but... everything else) that would get stored for each different reddit. There'd be a "catch-all" set of settings for any reddit not specified in the dropdown list.
If moderating by reddit, the tool can use the merged modqueue, but it would have to select the posts by reddit.
In the settings, there is a way to specify rule ordering. So the way it would have to work: the tool would select the reddit, then process the modqueue (observing the rule ordering), and selecting only posts for that reddit. Then when it finishes all those posts, the tool would then go to the next set of settings, and walk through the modqueue again. And so on. eventually it would get to the "none of the above" rules, and it would have to apply a negative filter to get the set of posts that didn't match any other explicitly-configured reddit.
In between you wouldn't want to retrieve a new set of posts from the modqueue, I'd think.
You'd also want to set the ordering of the reddits to process, too.
These would be the interesting / tricky parts:
- management of editing of the configuration settings. Right now there is a single form that holds all the settings. If the user clicks "OK" then these values get put back into the settings. If the user clicks "Cancel" then the values vaporize. With the dropdown list, any time the user clicks a different reddit to edit, then all the settings for that reddit need to pop into the form. The settings for the previously selected reddit (or none of the above) need to ... go ... somewhere. Until the point of clicking OK or Cancel, then the right thing needs to happen.
- reporting. it would be nice to group by reddit in the audit log reports. Or filter out particular reddits.
- the logic in the form would just get one extra layer; one extra foreach loop. Within that loop, some conditional selection.
These are non-issues:
- exception handling. The filter selects posts belonging to a reddit. If the user specifies the wrong reddit, then .... the selection won't work. So... no new exception handling will be necessary.