186 Commits

Author SHA1 Message Date
FoxxMD
8e2fee6d50 Fix heartbeat interval 0.4.2 2021-07-06 16:52:45 -04:00
FoxxMD
ed8be6dda2 Refactor app/manager building for in-situ updates
* Separate manager instantiation from configuration flow so config can be reloaded
* Move wiki page parsing into manager for better encapsulation
* Check for wiki revision date on heartbeat and on checks if older than one minute
* Catch config parsing issues and retry on next heartbeat
2021-07-06 16:28:18 -04:00
FoxxMD
00e38b5560 Use correct media property for anchor parsing 2021-07-06 12:59:46 -04:00
FoxxMD
9cac11f436 Implement author parsing for audio/podcast related media
Parse spotify and anchor.fm media sources
2021-07-06 11:33:00 -04:00
FoxxMD
f591c3a05a Implement more powerful content parsing options
* Can get wiki pages from other subreddits
* Can fetch from an external url
2021-07-06 10:27:30 -04:00
FoxxMD
39fad91c7f Fix missing author criteria 2021-07-05 17:20:35 -04:00
FoxxMD
529b8fc03e Further improvements for subreddit name parsing
* Allow whitespace on either side of regex value to parse since its automatically trimmed by getting capture group
* Implement sub name parsing everywhere subreddits can be specified and update documentation to remove prefix restrictions
2021-07-05 16:06:15 -04:00
FoxxMD
54eef5620d Update interfaces and documentation for new filters and item states 2021-07-05 15:39:08 -04:00
FoxxMD
99537fbebb Fix missing filtering behavior on repeat and add remove check
* Add missing include/exclude behavior for counting repeat submissions
* Add parameter to enable user to specify if removed activities should be included
2021-07-05 15:38:49 -04:00
FoxxMD
4c3f9ee082 Fix remove check on remove action 2021-07-05 15:37:37 -04:00
FoxxMD
5b028b6a45 Fix some item state checks and implement subreddit filtering on window
* Fix how removed check is performed since there are different behaviors for submission/comment
* Add filtered and deleted states for item check
* Add subreddit filters (include/exclude) on window criteria
2021-07-05 15:37:19 -04:00
FoxxMD
859bcf9213 Implement subreddit name parser to allow more lax input
Use regex to extract subreddit name regardless of prefix
2021-07-05 15:34:59 -04:00
FoxxMD
e790f7c260 Fix issue when activities retrieved for attribution rule 0.4.1 2021-06-25 15:20:31 -04:00
FoxxMD
20358294ce Fix domain ident aliases when not aggregating parent domain 2021-06-25 10:29:19 -04:00
FoxxMD
e0f18dc0a2 Add typescript dep 2021-06-25 10:28:39 -04:00
FoxxMD
9a788a8323 Add file logging for uncaught rejection/exceptions 2021-06-23 16:05:58 -04:00
FoxxMD
bed9a9682a Add item is key in log on found 0.4.0 2021-06-23 15:17:45 -04:00
FoxxMD
d39ce13209 Big improvements for Attribution Rule
* Move most qualifier properties into criteria
* Allow filtering on specific domains and consolidate "use sub as reference" into a special string to use here
* Above also enables using rule on Comment
* Enable more submission type filtering options and allow multiple options (link, media, self -- or a combination of any)
* Provide count and percent ranges in results
* Provide domains and friendly tiles in results
2021-06-23 15:09:56 -04:00
FoxxMD
4bd25e53b0 Better formatting for logging errors
Don't erase the original message if there is one
2021-06-23 14:56:20 -04:00
FoxxMD
ac87d5acfa Check if Activity is deleted before running checks 2021-06-23 14:55:45 -04:00
FoxxMD
0f541f1961 Try to fix attribution undefined issue on criteria results array having undefined index 2021-06-22 16:26:30 -04:00
FoxxMD
db2be949b4 Refactor polling to enable polling from multiple sources
* New polling sources: unmoderated and modqueue
* Can now poll from many sources
2021-06-22 14:47:20 -04:00
FoxxMD
8c6b18cf4d Add optional subreddit nickname to help make logs more readable 2021-06-22 13:00:53 -04:00
FoxxMD
add4204304 Make check labels more concise
* Shorten prefix to 'CHK'
* Truncate check names to 25 characters
2021-06-22 13:00:35 -04:00
FoxxMD
927d4ef07e Refactor recent activity to provide useful information on fail 2021-06-22 12:42:43 -04:00
FoxxMD
b8c12009ee Refactor history rule to provide useful logging information on fail 2021-06-22 11:59:43 -04:00
FoxxMD
7f9b4ce6a0 Refactor repeat rule to provide useful logging information on fail 2021-06-22 11:29:07 -04:00
FoxxMD
ad8a668a08 Make pass/fail symbols constants 2021-06-22 11:28:37 -04:00
FoxxMD
84c5e97c92 Refactor Attribution so fail condition also logs useful information 2021-06-22 10:52:29 -04:00
FoxxMD
03b2cb36ab Change pass/fail symbols so they aren't emojis
Makes logging more uniform
2021-06-22 10:52:01 -04:00
FoxxMD
93bdb89115 Shorten action logging label 2021-06-22 10:51:29 -04:00
FoxxMD
702e2ccccf Shorten Rule labels 2021-06-22 10:47:51 -04:00
FoxxMD
631d67928d Shorten kind for some rules to make logging more readable 2021-06-22 10:47:13 -04:00
FoxxMD
eea04344c0 Check for error timeout code 2021-06-21 22:53:50 -04:00
FoxxMD
7f29ade87b Refactor results to make check complexity easier to visualize in log
* Differentiate rule results from rule set results
* Implement function to parse all results for check and print and/or PLUS triggered state for all rule/sets in check
2021-06-21 17:10:24 -04:00
FoxxMD
cced86381b Fix minimum items for subthreshold 2021-06-21 13:57:31 -04:00
FoxxMD
01c575f2b2 Rename history criteria operator name to be consistent 2021-06-21 13:34:27 -04:00
FoxxMD
f1d04d4718 Fix regex named group 2021-06-21 13:33:49 -04:00
FoxxMD
6ca65079b3 Add author and item checks to Actions
So that Actions can be skipped based on item/author criteria
2021-06-21 13:00:45 -04:00
FoxxMD
73236e44ad Add karma comparisons and verified check for author criteria 2021-06-21 12:02:33 -04:00
FoxxMD
4bef85e1e4 Refactor most thresholds to use comparison operators (like automod) 2021-06-21 11:40:04 -04:00
FoxxMD
532f6aa3d8 Fix recent activity default thresholds 2021-06-20 14:20:39 -04:00
FoxxMD
e1e5b26264 One more duration fix 2021-06-20 14:15:06 -04:00
FoxxMD
46a583e20a Fix regex constant usage for duration 2021-06-20 14:01:00 -04:00
FoxxMD
24064dfe03 Refactor how activity window is parsed to use dayjs shorthand string
* Parse dayjs shorthand IE "90 days" alongside the rest of the activity types
* Update schema with clearer information on how activity window can be formed
2021-06-18 17:36:43 -04:00
FoxxMD
ad91901cc2 Refactor history criteria to use string regex parsing (like automod) 2021-06-18 16:33:13 -04:00
FoxxMD
58c51e56b1 Test Author account age using string comparison (like automod) 2021-06-18 13:52:52 -04:00
FoxxMD
9850ccb8f3 Fix dryrun usage for comment action 2021-06-17 15:04:11 -04:00
FoxxMD
79b82dab0f Refactor footer to be configurable at subreddit and Action level 2021-06-17 14:43:22 -04:00
FoxxMD
9c059beb85 Add usernotes to content template render data and contextualize bot footer 2021-06-17 13:13:46 -04:00