mirror of
https://github.com/FoxxMD/context-mod.git
synced 2026-04-19 03:00:07 -04:00
50 lines
2.4 KiB
Markdown
50 lines
2.4 KiB
Markdown
# Repeat Activity
|
|
|
|
The **Repeat Activity** rule will check for patterns of repetition in an Author's Submission/Comment history. Consult the [schema](https://json-schema.app/view/%23%2Fdefinitions%2FRepeatActivityJSONConfig?url=https%3A%2F%2Fraw.githubusercontent.com%2FFoxxMD%2Fcontext-mod%2Fmaster%2Fsrc%2FSchema%2FApp.json) for a complete reference of the rule's properties.
|
|
|
|
## Tuning
|
|
|
|
The most critical properties for this Rule are **gapAllowance** and **lookAt**.
|
|
|
|
### `lookAt`
|
|
|
|
Determines which Activities from a User's history are checked when looking for repeats.
|
|
|
|
Can be either:
|
|
|
|
* `all` -- All of a user's submissions and comments are considered
|
|
* `submissions` -- Only a user's submissions are considered
|
|
|
|
Defaults to `all`
|
|
|
|
### `gapAllowance`
|
|
|
|
`gapAllowance` determines how many **non-repeat Activities** are "allowed" between "in a row" submissions. `N` number of non-repeat activities will be thrown away during the count which allows checking for patterns with a bit of "fuzziness".
|
|
|
|
By default `gapAllowance: 0` so all repeats must be truly consecutive.
|
|
___
|
|
Consider the following example in a user's history:
|
|
|
|
* crossposts 2 times
|
|
* 1 comment
|
|
* crossposts 2 times
|
|
* 2 comments
|
|
* crossposts 4 times
|
|
|
|
Your goal is to remove a submission if it has been crossposted **5 times.**
|
|
|
|
With defaults for lookAt and gapAllowance this rule **would not be triggered** because no set of consecutive submissions was repeated 5 times.
|
|
|
|
With only `lookAt: "submissions"` this rule **would trigger** because all the comments would be ignored resulting in 8 repeats.
|
|
|
|
With only `gapAllowance: 1` this rule **would not trigger** because the 2 comment non-repeat would break the "in a row" count.
|
|
|
|
With only `gapAllowance: 2` this rule **would trigger** because the the 1 and 2 comment non-repeats would be thrown out resulting in 8 repeats.
|
|
|
|
**Note:** `lookAt: "submissions"` should be used with caution because all comments are thrown away. This isn't indicative of real repeat behavior if the user is a heavy commenter. For this reason the default is `all`.
|
|
|
|
## Examples
|
|
|
|
* Crosspost Spamming [JSON](/docs/examples/repeatActivity/crosspostSpamming.json5) | [YAML](/docs/examples/repeatActivity/crosspostSpamming.yaml) - Check if an Author is spamming their Submissions across multiple subreddits
|
|
* Burst-posting [JSON](/docs/examples/repeatActivity/burstPosting.json5) | [YAML](/docs/examples/repeatActivity/burstPosting.yaml) - Check if Author is crossposting their Submissions in short bursts
|