@fsvreddit/bot-bouncer-evaluation 0.8.0 → 0.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/dist/userEvaluation/EvaluateBadDisplayname.d.ts +4 -3
  2. package/dist/userEvaluation/EvaluateBadDisplaynameDefinedHandles.d.ts +4 -3
  3. package/dist/userEvaluation/EvaluateBadUsername.d.ts +4 -3
  4. package/dist/userEvaluation/EvaluateBioText.d.ts +4 -3
  5. package/dist/userEvaluation/EvaluateBioTextDefinedHandles.d.ts +4 -3
  6. package/dist/userEvaluation/EvaluateBotGroupAdvanced.d.ts +4 -3
  7. package/dist/userEvaluation/EvaluateBotGroupSubmitters.d.ts +1 -1
  8. package/dist/userEvaluation/EvaluateCommentPhrase.d.ts +4 -3
  9. package/dist/userEvaluation/EvaluateDomainSharer.d.ts +4 -3
  10. package/dist/userEvaluation/EvaluateInconsistentAgeBot.d.ts +4 -3
  11. package/dist/userEvaluation/EvaluateInconsistentGenderBot.d.ts +4 -3
  12. package/dist/userEvaluation/EvaluateLinkReuse.d.ts +4 -3
  13. package/dist/userEvaluation/EvaluateObfuscatedBioKeywords.d.ts +2 -2
  14. package/dist/userEvaluation/EvaluatePinnedPostTitle.d.ts +4 -3
  15. package/dist/userEvaluation/EvaluatePostTitle.d.ts +4 -3
  16. package/dist/userEvaluation/EvaluatePostTitleDefinedHandles.d.ts +4 -3
  17. package/dist/userEvaluation/EvaluatePostTitleMulti.d.ts +4 -3
  18. package/dist/userEvaluation/EvaluateRedgifs.d.ts +4 -3
  19. package/dist/userEvaluation/EvaluateRepostBot.d.ts +2 -2
  20. package/dist/userEvaluation/EvaluateSelfComment.d.ts +2 -2
  21. package/dist/userEvaluation/EvaluateSocialLinks.d.ts +4 -3
  22. package/dist/userEvaluation/EvaluateSuspiciousFirstPost.d.ts +2 -2
  23. package/dist/userEvaluation/EvaluateTGGroup.d.ts +4 -3
  24. package/dist/userEvaluation/EvaluateTextInNsfwImages.d.ts +1 -1
  25. package/dist/userEvaluation/EvaluateWarmupBot.d.ts +4 -3
  26. package/dist/userEvaluation/EvaluateWorldTraveller.d.ts +4 -3
  27. package/dist/userEvaluation/UserEvaluatorBase.d.ts +4 -21
  28. package/package.json +2 -1
  29. package/tsconfig.build.json +14 -14
@@ -1,7 +1,8 @@
1
1
  import { Post } from "@devvit/web/server";
2
- import { OnCommentCreateRequest } from "@devvit/web/shared";
3
- import { EvaluatorRegex, UserEvaluatorBase, ValidationIssue } from "./UserEvaluatorBase.js";
2
+ import { OnCommentCreateRequest, OnCommentUpdateRequest } from "@devvit/web/shared";
3
+ import { UserEvaluatorBase } from "./UserEvaluatorBase.js";
4
4
  import { UserExtended } from "@fsvreddit/fsv-devvit-web-helpers";
5
+ import { EvaluatorRegex, ValidationIssue } from "@fsvreddit/bot-bouncer-types";
5
6
  export declare class EvaluateBadDisplayName extends UserEvaluatorBase {
6
7
  name: string;
7
8
  shortname: string;
@@ -11,7 +12,7 @@ export declare class EvaluateBadDisplayName extends UserEvaluatorBase {
11
12
  private isBadDisplayName;
12
13
  gatherRegexes(): EvaluatorRegex[];
13
14
  validateVariables(): ValidationIssue[];
14
- preEvaluateComment(_: OnCommentCreateRequest): boolean;
15
+ preEvaluateComment(_: OnCommentCreateRequest | OnCommentUpdateRequest): boolean;
15
16
  preEvaluatePost(_: Post): boolean;
16
17
  preEvaluateUser(user: UserExtended): boolean;
17
18
  evaluate(_user: UserExtended): boolean;
@@ -1,7 +1,8 @@
1
1
  import { Post } from "@devvit/web/server";
2
- import { OnCommentCreateRequest } from "@devvit/web/shared";
3
- import { EvaluatorRegex, UserEvaluatorBase, ValidationIssue } from "./UserEvaluatorBase.js";
2
+ import { OnCommentCreateRequest, OnCommentUpdateRequest } from "@devvit/web/shared";
3
+ import { UserEvaluatorBase } from "./UserEvaluatorBase.js";
4
4
  import { UserExtended } from "@fsvreddit/fsv-devvit-web-helpers";
5
+ import type { EvaluatorRegex, ValidationIssue } from "@fsvreddit/bot-bouncer-types";
5
6
  export declare class EvaluateBadDisplayNameDefinedHandles extends UserEvaluatorBase {
6
7
  name: string;
7
8
  shortname: string;
@@ -12,7 +13,7 @@ export declare class EvaluateBadDisplayNameDefinedHandles extends UserEvaluatorB
12
13
  private compiledRegexes;
13
14
  private getCompiledRegexes;
14
15
  validateVariables(): ValidationIssue[];
15
- preEvaluateComment(_: OnCommentCreateRequest): boolean;
16
+ preEvaluateComment(_: OnCommentCreateRequest | OnCommentUpdateRequest): boolean;
16
17
  preEvaluatePost(_: Post): boolean;
17
18
  preEvaluateUser(user: UserExtended): boolean;
18
19
  evaluate(_user: UserExtended): boolean;
@@ -1,7 +1,8 @@
1
1
  import { Post } from "@devvit/web/server";
2
- import { OnCommentCreateRequest } from "@devvit/web/shared";
3
- import { EvaluatorRegex, UserEvaluatorBase, ValidationIssue } from "./UserEvaluatorBase.js";
2
+ import { OnCommentCreateRequest, OnCommentUpdateRequest } from "@devvit/web/shared";
3
+ import { UserEvaluatorBase } from "./UserEvaluatorBase.js";
4
4
  import { UserExtended } from "@fsvreddit/fsv-devvit-web-helpers";
5
+ import type { EvaluatorRegex, ValidationIssue } from "@fsvreddit/bot-bouncer-types";
5
6
  export declare class EvaluateBadUsername extends UserEvaluatorBase {
6
7
  name: string;
7
8
  shortname: string;
@@ -11,7 +12,7 @@ export declare class EvaluateBadUsername extends UserEvaluatorBase {
11
12
  gatherRegexes(): EvaluatorRegex[];
12
13
  private compiledRegexes;
13
14
  private getCompiledRegexes;
14
- preEvaluateComment(event: OnCommentCreateRequest): boolean;
15
+ preEvaluateComment(event: OnCommentCreateRequest | OnCommentUpdateRequest): boolean;
15
16
  preEvaluatePost(post: Post): boolean;
16
17
  preEvaluateUser(user: UserExtended): boolean;
17
18
  evaluate(_user: UserExtended): boolean;
@@ -1,6 +1,7 @@
1
1
  import { Post } from "@devvit/web/server";
2
- import { OnCommentCreateRequest } from "@devvit/web/shared";
3
- import { EvaluatorRegex, UserEvaluatorBase, ValidationIssue } from "./UserEvaluatorBase.js";
2
+ import { OnCommentCreateRequest, OnCommentUpdateRequest } from "@devvit/web/shared";
3
+ import { UserEvaluatorBase } from "./UserEvaluatorBase.js";
4
+ import type { EvaluatorRegex, ValidationIssue } from "@fsvreddit/bot-bouncer-types";
4
5
  import { UserExtended } from "@fsvreddit/fsv-devvit-web-helpers";
5
6
  export declare class EvaluateBioText extends UserEvaluatorBase {
6
7
  name: string;
@@ -13,7 +14,7 @@ export declare class EvaluateBioText extends UserEvaluatorBase {
13
14
  gatherRegexes(): EvaluatorRegex[];
14
15
  private compiledRegexes;
15
16
  private getCompiledRegexes;
16
- preEvaluateComment(event: OnCommentCreateRequest): boolean;
17
+ preEvaluateComment(event: OnCommentCreateRequest | OnCommentUpdateRequest): boolean;
17
18
  preEvaluatePost(_: Post): boolean;
18
19
  preEvaluateUser(user: UserExtended): boolean;
19
20
  evaluate(user: UserExtended): boolean;
@@ -1,6 +1,7 @@
1
1
  import { Post } from "@devvit/web/server";
2
- import { OnCommentCreateRequest } from "@devvit/web/shared";
3
- import { EvaluatorRegex, UserEvaluatorBase, ValidationIssue } from "./UserEvaluatorBase.js";
2
+ import { OnCommentCreateRequest, OnCommentUpdateRequest } from "@devvit/web/shared";
3
+ import { UserEvaluatorBase } from "./UserEvaluatorBase.js";
4
+ import type { EvaluatorRegex, ValidationIssue } from "@fsvreddit/bot-bouncer-types";
4
5
  import { UserExtended } from "@fsvreddit/fsv-devvit-web-helpers";
5
6
  export declare class EvaluateBioTextDefinedHandles extends UserEvaluatorBase {
6
7
  name: string;
@@ -9,7 +10,7 @@ export declare class EvaluateBioTextDefinedHandles extends UserEvaluatorBase {
9
10
  private getHandles;
10
11
  private compiledRegexes;
11
12
  private getCompiledRegexes;
12
- preEvaluateComment(event: OnCommentCreateRequest): boolean;
13
+ preEvaluateComment(event: OnCommentCreateRequest | OnCommentUpdateRequest): boolean;
13
14
  validateVariables(): ValidationIssue[];
14
15
  gatherRegexes(): EvaluatorRegex[];
15
16
  preEvaluatePost(_: Post): boolean;
@@ -1,6 +1,7 @@
1
1
  import { Comment, Post, UserSocialLink } from "@devvit/web/server";
2
- import { OnCommentCreateRequest } from "@devvit/web/shared";
3
- import { EvaluatorRegex, UserEvaluatorBase, ValidationIssue } from "./UserEvaluatorBase.js";
2
+ import { OnCommentCreateRequest, OnCommentUpdateRequest } from "@devvit/web/shared";
3
+ import { UserEvaluatorBase } from "./UserEvaluatorBase.js";
4
+ import type { EvaluatorRegex, ValidationIssue } from "@fsvreddit/bot-bouncer-types";
4
5
  import { UserExtended } from "@fsvreddit/fsv-devvit-web-helpers";
5
6
  interface AgeRange {
6
7
  dateFrom: string;
@@ -104,7 +105,7 @@ export declare class EvaluateBotGroupAdvanced extends UserEvaluatorBase {
104
105
  private postOrCommentMatchesCondition;
105
106
  collectCommentConditionsForPreEvalation(criteria: CriteriaGroup): CommentCondition[];
106
107
  collectNegatedCommentConditionsForPreEvaluation(criteria: CriteriaGroup): CommentCondition[];
107
- preEvaluateComment(comment: OnCommentCreateRequest): Promise<boolean>;
108
+ preEvaluateComment(comment: OnCommentCreateRequest | OnCommentUpdateRequest): Promise<boolean>;
108
109
  private postMatchesCondition;
109
110
  private cachedPostProperties;
110
111
  private postPropertiesStatistics;
@@ -1,5 +1,5 @@
1
+ import { ValidationIssue } from "@fsvreddit/bot-bouncer-types";
1
2
  import { EvaluateBotGroupAdvanced } from "./EvaluateBotGroupAdvanced";
2
- import { ValidationIssue } from "./UserEvaluatorBase";
3
3
  export declare class EvaluateBotGroupAdvancedSubmitters extends EvaluateBotGroupAdvanced {
4
4
  name: string;
5
5
  shortname: string;
@@ -1,6 +1,7 @@
1
1
  import { Post } from "@devvit/web/server";
2
- import { OnCommentCreateRequest } from "@devvit/web/shared";
3
- import { EvaluatorRegex, UserEvaluatorBase, ValidationIssue } from "./UserEvaluatorBase.js";
2
+ import { OnCommentCreateRequest, OnCommentUpdateRequest } from "@devvit/web/shared";
3
+ import { UserEvaluatorBase } from "./UserEvaluatorBase.js";
4
+ import type { EvaluatorRegex, ValidationIssue } from "@fsvreddit/bot-bouncer-types";
4
5
  import { UserExtended } from "@fsvreddit/fsv-devvit-web-helpers";
5
6
  export declare class EvaluateCommentPhrase extends UserEvaluatorBase {
6
7
  name: string;
@@ -11,7 +12,7 @@ export declare class EvaluateCommentPhrase extends UserEvaluatorBase {
11
12
  private compiledRegexes;
12
13
  private getCompiledRegexes;
13
14
  private eligibleComment;
14
- preEvaluateComment(event: OnCommentCreateRequest): boolean;
15
+ preEvaluateComment(event: OnCommentCreateRequest | OnCommentUpdateRequest): boolean;
15
16
  preEvaluatePost(_: Post): boolean;
16
17
  preEvaluateUser(user: UserExtended): boolean;
17
18
  evaluate(_: UserExtended): boolean;
@@ -1,7 +1,8 @@
1
1
  import { Post } from "@devvit/web/server";
2
- import { OnCommentCreateRequest } from "@devvit/web/shared";
3
- import { EvaluatorRegex, UserEvaluatorBase } from "./UserEvaluatorBase.js";
2
+ import { OnCommentCreateRequest, OnCommentUpdateRequest } from "@devvit/web/shared";
3
+ import { UserEvaluatorBase } from "./UserEvaluatorBase.js";
4
4
  import { UserExtended } from "@fsvreddit/fsv-devvit-web-helpers";
5
+ import { EvaluatorRegex } from "@fsvreddit/bot-bouncer-types";
5
6
  export declare class EvaluateDomainSharer extends UserEvaluatorBase {
6
7
  name: string;
7
8
  shortname: string;
@@ -11,7 +12,7 @@ export declare class EvaluateDomainSharer extends UserEvaluatorBase {
11
12
  private ignoredSubreddits;
12
13
  private ignoredSubredditRegexes;
13
14
  private domainsFromPost;
14
- preEvaluateComment(event: OnCommentCreateRequest): boolean;
15
+ preEvaluateComment(event: OnCommentCreateRequest | OnCommentUpdateRequest): boolean;
15
16
  preEvaluatePost(post: Post): boolean;
16
17
  preEvaluateUser(user: UserExtended): boolean;
17
18
  evaluate(_: UserExtended): boolean;
@@ -1,6 +1,7 @@
1
1
  import { Post } from "@devvit/web/server";
2
- import { OnCommentCreateRequest } from "@devvit/web/shared";
3
- import { EvaluatorRegex, UserEvaluatorBase, ValidationIssue } from "./UserEvaluatorBase.js";
2
+ import { OnCommentCreateRequest, OnCommentUpdateRequest } from "@devvit/web/shared";
3
+ import { UserEvaluatorBase } from "./UserEvaluatorBase.js";
4
+ import type { EvaluatorRegex, ValidationIssue } from "@fsvreddit/bot-bouncer-types";
4
5
  import { UserExtended } from "@fsvreddit/fsv-devvit-web-helpers";
5
6
  export declare class EvaluateInconsistentAgeBot extends UserEvaluatorBase {
6
7
  name: string;
@@ -9,7 +10,7 @@ export declare class EvaluateInconsistentAgeBot extends UserEvaluatorBase {
9
10
  canAutoBan: boolean;
10
11
  gatherRegexes(): EvaluatorRegex[];
11
12
  validateVariables(): ValidationIssue[];
12
- preEvaluateComment(_event: OnCommentCreateRequest): boolean;
13
+ preEvaluateComment(_event: OnCommentCreateRequest | OnCommentUpdateRequest): boolean;
13
14
  private getAgeFromPostTitle;
14
15
  preEvaluatePost(post: Post): boolean;
15
16
  preEvaluateUser(user: UserExtended): boolean;
@@ -1,13 +1,14 @@
1
1
  import { Post } from "@devvit/web/server";
2
- import { OnCommentCreateRequest } from "@devvit/web/shared";
3
- import { EvaluatorRegex, UserEvaluatorBase, ValidationIssue } from "./UserEvaluatorBase.js";
2
+ import { OnCommentCreateRequest, OnCommentUpdateRequest } from "@devvit/web/shared";
3
+ import { UserEvaluatorBase } from "./UserEvaluatorBase.js";
4
+ import type { EvaluatorRegex, ValidationIssue } from "@fsvreddit/bot-bouncer-types";
4
5
  import { UserExtended } from "@fsvreddit/fsv-devvit-web-helpers";
5
6
  export declare class EvaluateInconsistentGenderBot extends UserEvaluatorBase {
6
7
  name: string;
7
8
  shortname: string;
8
9
  banContentThreshold: number;
9
10
  canAutoBan: boolean;
10
- preEvaluateComment(_event: OnCommentCreateRequest): boolean;
11
+ preEvaluateComment(_event: OnCommentCreateRequest | OnCommentUpdateRequest): boolean;
11
12
  getGenderFromTitle(title: string): string | undefined;
12
13
  gatherRegexes(): EvaluatorRegex[];
13
14
  validateVariables(): ValidationIssue[];
@@ -1,7 +1,8 @@
1
1
  import { Post } from "@devvit/web/server";
2
- import { OnCommentCreateRequest } from "@devvit/web/shared";
3
- import { UserEvaluatorBase, ValidationIssue } from "./UserEvaluatorBase.js";
2
+ import { OnCommentCreateRequest, OnCommentUpdateRequest } from "@devvit/web/shared";
3
+ import { UserEvaluatorBase } from "./UserEvaluatorBase.js";
4
4
  import { UserExtended } from "@fsvreddit/fsv-devvit-web-helpers";
5
+ import { ValidationIssue } from "@fsvreddit/bot-bouncer-types";
5
6
  export declare class EvaluateLinkReuse extends UserEvaluatorBase {
6
7
  name: string;
7
8
  shortname: string;
@@ -9,7 +10,7 @@ export declare class EvaluateLinkReuse extends UserEvaluatorBase {
9
10
  private getLinkRegexes;
10
11
  validateVariables(): ValidationIssue[];
11
12
  preEvaluatePost(post: Post): boolean;
12
- preEvaluateComment(_event: OnCommentCreateRequest): Promise<boolean>;
13
+ preEvaluateComment(_event: OnCommentCreateRequest | OnCommentUpdateRequest): Promise<boolean>;
13
14
  preEvaluateUser(user: UserExtended): boolean;
14
15
  private getDistinctUsersForLink;
15
16
  private isEligibleUserForEvaluator;
@@ -1,5 +1,5 @@
1
1
  import { Post } from "@devvit/web/server";
2
- import { OnCommentCreateRequest } from "@devvit/web/shared";
2
+ import { OnCommentCreateRequest, OnCommentUpdateRequest } from "@devvit/web/shared";
3
3
  import { UserEvaluatorBase } from "./UserEvaluatorBase.js";
4
4
  import { UserExtended } from "@fsvreddit/fsv-devvit-web-helpers";
5
5
  export declare class EvaluateObfuscatedBioKeywords extends UserEvaluatorBase {
@@ -9,7 +9,7 @@ export declare class EvaluateObfuscatedBioKeywords extends UserEvaluatorBase {
9
9
  private getKeywords;
10
10
  private getAllowedTerms;
11
11
  private bioTextMatches;
12
- preEvaluateComment(event: OnCommentCreateRequest): boolean;
12
+ preEvaluateComment(event: OnCommentCreateRequest | OnCommentUpdateRequest): boolean;
13
13
  preEvaluatePost(_: Post): boolean;
14
14
  preEvaluateUser(user: UserExtended): boolean;
15
15
  evaluate(_user: UserExtended): boolean;
@@ -1,6 +1,7 @@
1
1
  import { Post } from "@devvit/web/server";
2
- import { OnCommentCreateRequest } from "@devvit/web/shared";
3
- import { EvaluatorRegex, UserEvaluatorBase, ValidationIssue } from "./UserEvaluatorBase.js";
2
+ import { OnCommentCreateRequest, OnCommentUpdateRequest } from "@devvit/web/shared";
3
+ import { UserEvaluatorBase } from "./UserEvaluatorBase.js";
4
+ import type { EvaluatorRegex, ValidationIssue } from "@fsvreddit/bot-bouncer-types";
4
5
  import { UserExtended } from "@fsvreddit/fsv-devvit-web-helpers";
5
6
  export declare class EvaluatePinnedPostTitles extends UserEvaluatorBase {
6
7
  name: string;
@@ -8,7 +9,7 @@ export declare class EvaluatePinnedPostTitles extends UserEvaluatorBase {
8
9
  banContentThreshold: number;
9
10
  validateVariables(): ValidationIssue[];
10
11
  gatherRegexes(): EvaluatorRegex[];
11
- preEvaluateComment(_: OnCommentCreateRequest): boolean;
12
+ preEvaluateComment(_: OnCommentCreateRequest | OnCommentUpdateRequest): boolean;
12
13
  preEvaluatePost(post: Post): boolean;
13
14
  preEvaluateUser(user: UserExtended): boolean;
14
15
  evaluate(_: UserExtended): boolean;
@@ -1,6 +1,7 @@
1
1
  import { Post } from "@devvit/web/server";
2
- import { OnCommentCreateRequest } from "@devvit/web/shared";
3
- import { EvaluatorRegex, UserEvaluatorBase, ValidationIssue } from "./UserEvaluatorBase.js";
2
+ import { OnCommentCreateRequest, OnCommentUpdateRequest } from "@devvit/web/shared";
3
+ import { UserEvaluatorBase } from "./UserEvaluatorBase.js";
4
+ import type { EvaluatorRegex, ValidationIssue } from "@fsvreddit/bot-bouncer-types";
4
5
  import { UserExtended } from "@fsvreddit/fsv-devvit-web-helpers";
5
6
  export declare class EvaluatePostTitle extends UserEvaluatorBase {
6
7
  name: string;
@@ -8,7 +9,7 @@ export declare class EvaluatePostTitle extends UserEvaluatorBase {
8
9
  banContentThreshold: number;
9
10
  validateVariables(): ValidationIssue[];
10
11
  gatherRegexes(): EvaluatorRegex[];
11
- preEvaluateComment(_: OnCommentCreateRequest): boolean;
12
+ preEvaluateComment(_: OnCommentCreateRequest | OnCommentUpdateRequest): boolean;
12
13
  private getTitles;
13
14
  private titleRegexes;
14
15
  private getTitleRegexes;
@@ -1,6 +1,7 @@
1
1
  import { Post } from "@devvit/web/server";
2
- import { OnCommentCreateRequest } from "@devvit/web/shared";
3
- import { EvaluatorRegex, UserEvaluatorBase, ValidationIssue } from "./UserEvaluatorBase.js";
2
+ import { OnCommentCreateRequest, OnCommentUpdateRequest } from "@devvit/web/shared";
3
+ import { UserEvaluatorBase } from "./UserEvaluatorBase.js";
4
+ import type { EvaluatorRegex, ValidationIssue } from "@fsvreddit/bot-bouncer-types";
4
5
  import { UserExtended } from "@fsvreddit/fsv-devvit-web-helpers";
5
6
  export declare class EvaluatePostTitleDefinedHandles extends UserEvaluatorBase {
6
7
  name: string;
@@ -11,7 +12,7 @@ export declare class EvaluatePostTitleDefinedHandles extends UserEvaluatorBase {
11
12
  gatherRegexes(): EvaluatorRegex[];
12
13
  private compiledRegexes;
13
14
  private getCompiledRegexes;
14
- preEvaluateComment(_: OnCommentCreateRequest): boolean;
15
+ preEvaluateComment(_: OnCommentCreateRequest | OnCommentUpdateRequest): boolean;
15
16
  preEvaluatePost(post: Post): boolean;
16
17
  preEvaluateUser(user: UserExtended): boolean;
17
18
  evaluate(_: UserExtended): boolean;
@@ -1,6 +1,7 @@
1
1
  import { Post } from "@devvit/web/server";
2
- import { OnCommentCreateRequest } from "@devvit/web/shared";
3
- import { EvaluatorRegex, UserEvaluatorBase, ValidationIssue } from "./UserEvaluatorBase.js";
2
+ import { OnCommentCreateRequest, OnCommentUpdateRequest } from "@devvit/web/shared";
3
+ import { UserEvaluatorBase } from "./UserEvaluatorBase.js";
4
+ import type { EvaluatorRegex, ValidationIssue } from "@fsvreddit/bot-bouncer-types";
4
5
  import { UserExtended } from "@fsvreddit/fsv-devvit-web-helpers";
5
6
  export declare class EvaluatePostTitleMulti extends UserEvaluatorBase {
6
7
  name: string;
@@ -11,7 +12,7 @@ export declare class EvaluatePostTitleMulti extends UserEvaluatorBase {
11
12
  gatherRegexes(): EvaluatorRegex[];
12
13
  private compiledRegexes;
13
14
  private getCompiledRegexes;
14
- preEvaluateComment(_: OnCommentCreateRequest): boolean;
15
+ preEvaluateComment(_: OnCommentCreateRequest | OnCommentUpdateRequest): boolean;
15
16
  preEvaluatePost(post: Post): boolean;
16
17
  preEvaluateUser(user: UserExtended): boolean;
17
18
  evaluate(_: UserExtended): boolean;
@@ -1,6 +1,7 @@
1
1
  import { Post } from "@devvit/web/server";
2
- import { OnCommentCreateRequest } from "@devvit/web/shared";
3
- import { EvaluatorRegex, UserEvaluatorBase, ValidationIssue } from "./UserEvaluatorBase";
2
+ import { OnCommentCreateRequest, OnCommentUpdateRequest } from "@devvit/web/shared";
3
+ import { UserEvaluatorBase } from "./UserEvaluatorBase";
4
+ import type { EvaluatorRegex, ValidationIssue } from "@fsvreddit/bot-bouncer-types";
4
5
  import { UserExtended } from "@fsvreddit/fsv-devvit-web-helpers";
5
6
  export declare class EvaluateRedgifs extends UserEvaluatorBase {
6
7
  name: string;
@@ -8,7 +9,7 @@ export declare class EvaluateRedgifs extends UserEvaluatorBase {
8
9
  evaluatorDisabled(): boolean;
9
10
  gatherRegexes(): EvaluatorRegex[];
10
11
  validateVariables(): ValidationIssue[];
11
- preEvaluateComment(_: OnCommentCreateRequest): boolean | Promise<boolean>;
12
+ preEvaluateComment(_: OnCommentCreateRequest | OnCommentUpdateRequest): boolean | Promise<boolean>;
12
13
  preEvaluatePost(post: Post): boolean;
13
14
  preEvaluateUser(user: UserExtended): boolean;
14
15
  private getRedis;
@@ -1,5 +1,5 @@
1
1
  import { Post } from "@devvit/web/server";
2
- import { OnCommentCreateRequest } from "@devvit/web/shared";
2
+ import { OnCommentCreateRequest, OnCommentUpdateRequest } from "@devvit/web/shared";
3
3
  import { UserEvaluatorBase } from "./UserEvaluatorBase.js";
4
4
  import { UserExtended } from "@fsvreddit/fsv-devvit-web-helpers";
5
5
  export declare class EvaluateRepostBot extends UserEvaluatorBase {
@@ -10,7 +10,7 @@ export declare class EvaluateRepostBot extends UserEvaluatorBase {
10
10
  private minWordsInTitle;
11
11
  private isEligiblePost;
12
12
  preEvaluatePost(post: Post): boolean;
13
- preEvaluateComment(_: OnCommentCreateRequest): boolean;
13
+ preEvaluateComment(_: OnCommentCreateRequest | OnCommentUpdateRequest): boolean;
14
14
  preEvaluateUser(user: UserExtended): boolean;
15
15
  private getImageUrl;
16
16
  private postIdToUrl;
@@ -1,5 +1,5 @@
1
1
  import { Post } from "@devvit/web/server";
2
- import { OnCommentCreateRequest } from "@devvit/web/shared";
2
+ import { OnCommentCreateRequest, OnCommentUpdateRequest } from "@devvit/web/shared";
3
3
  import { UserEvaluatorBase } from "./UserEvaluatorBase.js";
4
4
  import { UserExtended } from "@fsvreddit/fsv-devvit-web-helpers";
5
5
  export declare class EvaluateSelfComment extends UserEvaluatorBase {
@@ -9,7 +9,7 @@ export declare class EvaluateSelfComment extends UserEvaluatorBase {
9
9
  private isSubIgnored;
10
10
  private eligibleComment;
11
11
  private eligiblePost;
12
- preEvaluateComment(event: OnCommentCreateRequest): boolean;
12
+ preEvaluateComment(event: OnCommentCreateRequest | OnCommentUpdateRequest): boolean;
13
13
  preEvaluatePost(post: Post): boolean;
14
14
  preEvaluateUser(user: UserExtended): boolean;
15
15
  evaluate(user: UserExtended): boolean;
@@ -1,6 +1,7 @@
1
1
  import { Post } from "@devvit/web/server";
2
- import { OnCommentCreateRequest } from "@devvit/web/shared";
3
- import { UserEvaluatorBase, ValidationIssue } from "./UserEvaluatorBase.js";
2
+ import { OnCommentCreateRequest, OnCommentUpdateRequest } from "@devvit/web/shared";
3
+ import { UserEvaluatorBase } from "./UserEvaluatorBase.js";
4
+ import type { ValidationIssue } from "@fsvreddit/bot-bouncer-types";
4
5
  import { UserExtended } from "@fsvreddit/fsv-devvit-web-helpers";
5
6
  export declare class EvaluateSocialLinks extends UserEvaluatorBase {
6
7
  name: string;
@@ -8,7 +9,7 @@ export declare class EvaluateSocialLinks extends UserEvaluatorBase {
8
9
  banContentThreshold: number;
9
10
  validateVariables(): ValidationIssue[];
10
11
  getVariableOverrides(): Record<string, unknown>;
11
- preEvaluateComment(_: OnCommentCreateRequest): boolean;
12
+ preEvaluateComment(_: OnCommentCreateRequest | OnCommentUpdateRequest): boolean;
12
13
  preEvaluatePost(post: Post): boolean;
13
14
  preEvaluateUser(user: UserExtended): boolean;
14
15
  evaluate(user: UserExtended): Promise<boolean>;
@@ -1,5 +1,5 @@
1
1
  import { Post } from "@devvit/web/server";
2
- import { OnCommentCreateRequest } from "@devvit/web/shared";
2
+ import { OnCommentCreateRequest, OnCommentUpdateRequest } from "@devvit/web/shared";
3
3
  import { UserEvaluatorBase } from "./UserEvaluatorBase.js";
4
4
  import { UserExtended } from "@fsvreddit/fsv-devvit-web-helpers";
5
5
  export declare class EvaluateSuspiciousFirstPost extends UserEvaluatorBase {
@@ -8,7 +8,7 @@ export declare class EvaluateSuspiciousFirstPost extends UserEvaluatorBase {
8
8
  banContentThreshold: number;
9
9
  private subList;
10
10
  private eligiblePost;
11
- preEvaluateComment(_: OnCommentCreateRequest): boolean;
11
+ preEvaluateComment(_: OnCommentCreateRequest | OnCommentUpdateRequest): boolean;
12
12
  preEvaluatePost(post: Post): boolean;
13
13
  preEvaluateUser(user: UserExtended): boolean;
14
14
  evaluate(_: UserExtended): boolean;
@@ -1,6 +1,7 @@
1
1
  import { Post } from "@devvit/web/server";
2
- import { OnCommentCreateRequest } from "@devvit/web/shared";
3
- import { EvaluatorRegex, UserEvaluatorBase, ValidationIssue } from "./UserEvaluatorBase.js";
2
+ import { OnCommentCreateRequest, OnCommentUpdateRequest } from "@devvit/web/shared";
3
+ import { UserEvaluatorBase } from "./UserEvaluatorBase.js";
4
+ import type { EvaluatorRegex, ValidationIssue } from "@fsvreddit/bot-bouncer-types";
4
5
  import { UserExtended } from "@fsvreddit/fsv-devvit-web-helpers";
5
6
  export declare class EvaluateTGGroup extends UserEvaluatorBase {
6
7
  name: string;
@@ -9,7 +10,7 @@ export declare class EvaluateTGGroup extends UserEvaluatorBase {
9
10
  validateVariables(): ValidationIssue[];
10
11
  gatherRegexes(): EvaluatorRegex[];
11
12
  private eligiblePost;
12
- preEvaluateComment(_: OnCommentCreateRequest): boolean;
13
+ preEvaluateComment(_: OnCommentCreateRequest | OnCommentUpdateRequest): boolean;
13
14
  preEvaluatePost(post: Post): boolean;
14
15
  preEvaluateUser(user: UserExtended): boolean;
15
16
  evaluate(_: UserExtended): boolean;
@@ -1,5 +1,5 @@
1
- import { EvaluatorRegex, ValidationIssue } from "./UserEvaluatorBase";
2
1
  import { EvaluateBotGroupAdvanced } from "./EvaluateBotGroupAdvanced";
2
+ import type { EvaluatorRegex, ValidationIssue } from "@fsvreddit/bot-bouncer-types";
3
3
  import { UserExtended } from "@fsvreddit/fsv-devvit-web-helpers";
4
4
  export declare class EvaluateTextInNsfwImages extends EvaluateBotGroupAdvanced {
5
5
  name: string;
@@ -1,12 +1,13 @@
1
1
  import { Post } from "@devvit/web/server";
2
- import { OnCommentCreateRequest } from "@devvit/web/shared";
3
- import { EvaluatorRegex, UserEvaluatorBase, ValidationIssue } from "./UserEvaluatorBase.js";
2
+ import { OnCommentCreateRequest, OnCommentUpdateRequest } from "@devvit/web/shared";
3
+ import { UserEvaluatorBase } from "./UserEvaluatorBase.js";
4
+ import type { EvaluatorRegex, ValidationIssue } from "@fsvreddit/bot-bouncer-types";
4
5
  import { UserExtended } from "@fsvreddit/fsv-devvit-web-helpers";
5
6
  export declare class EvaluateWarmupBot extends UserEvaluatorBase {
6
7
  name: string;
7
8
  shortname: string;
8
9
  banContentThreshold: number;
9
- preEvaluateComment(_: OnCommentCreateRequest): boolean;
10
+ preEvaluateComment(_: OnCommentCreateRequest | OnCommentUpdateRequest): boolean;
10
11
  validateVariables(): ValidationIssue[];
11
12
  gatherRegexes(): EvaluatorRegex[];
12
13
  preEvaluatePost(post: Post): boolean;
@@ -1,6 +1,7 @@
1
1
  import { Post } from "@devvit/web/server";
2
- import { OnCommentCreateRequest } from "@devvit/web/shared";
3
- import { UserEvaluatorBase, ValidationIssue } from "./UserEvaluatorBase.js";
2
+ import { OnCommentCreateRequest, OnCommentUpdateRequest } from "@devvit/web/shared";
3
+ import { UserEvaluatorBase } from "./UserEvaluatorBase.js";
4
+ import type { ValidationIssue } from "@fsvreddit/bot-bouncer-types";
4
5
  import { UserExtended } from "@fsvreddit/fsv-devvit-web-helpers";
5
6
  export declare class EvaluateWorldTraveller extends UserEvaluatorBase {
6
7
  name: string;
@@ -13,7 +14,7 @@ export declare class EvaluateWorldTraveller extends UserEvaluatorBase {
13
14
  private subList;
14
15
  private getSubList;
15
16
  private isInEligibleSubreddit;
16
- preEvaluateComment(_: OnCommentCreateRequest): boolean;
17
+ preEvaluateComment(_: OnCommentCreateRequest | OnCommentUpdateRequest): boolean;
17
18
  preEvaluatePost(post: Post): boolean;
18
19
  preEvaluateUser(user: UserExtended): boolean;
19
20
  evaluate(_: UserExtended): boolean;
@@ -1,29 +1,12 @@
1
1
  import { Comment, Post, UserSocialLink } from "@devvit/web/server";
2
- import { OnCommentCreateRequest } from "@devvit/web/shared";
2
+ import { OnCommentCreateRequest, OnCommentUpdateRequest } from "@devvit/web/shared";
3
3
  import { UserExtended } from "@fsvreddit/fsv-devvit-web-helpers";
4
+ import { EvaluatorRegex, HitReason, ValidationIssue } from "@fsvreddit/bot-bouncer-types";
4
5
  interface HistoryOptions {
5
6
  since?: Date;
6
7
  omitRemoved?: boolean;
7
8
  edited?: boolean;
8
9
  }
9
- export interface ValidationIssue {
10
- severity: "error" | "warning";
11
- message: string;
12
- }
13
- export interface EvaluatorRegex {
14
- evaluatorName: string;
15
- subName?: string;
16
- regex: string;
17
- flags?: string;
18
- }
19
- export interface HitReasonDetailed {
20
- reason: string;
21
- details: {
22
- key: string;
23
- value: string;
24
- }[];
25
- }
26
- export type HitReason = string | HitReasonDetailed;
27
10
  export declare abstract class UserEvaluatorBase {
28
11
  private variables;
29
12
  abstract name: string;
@@ -55,8 +38,8 @@ export declare abstract class UserEvaluatorBase {
55
38
  protected getSocialLinks(username: string): Promise<UserSocialLink[]>;
56
39
  protected addHitReason(reason: HitReason): void;
57
40
  hitReasons: HitReason[] | undefined;
58
- abstract preEvaluateComment(event: OnCommentCreateRequest): boolean | Promise<boolean>;
59
- preEvaluateCommentEdit(event: OnCommentCreateRequest): boolean | Promise<boolean>;
41
+ abstract preEvaluateComment(event: OnCommentCreateRequest | OnCommentUpdateRequest): boolean | Promise<boolean>;
42
+ preEvaluateCommentEdit(event: OnCommentUpdateRequest): boolean | Promise<boolean>;
60
43
  abstract preEvaluatePost(post: Post): boolean | Promise<boolean>;
61
44
  preEvaluatePostEdit(post: Post): boolean | Promise<boolean>;
62
45
  abstract preEvaluateUser(user: UserExtended): boolean | Promise<boolean>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fsvreddit/bot-bouncer-evaluation",
3
- "version": "0.8.0",
3
+ "version": "0.8.2",
4
4
  "description": "Evaluation code for Bot Bouncer, a Dev Platform app designed to hunt bots on Reddit",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -20,6 +20,7 @@
20
20
  "author": "fsv",
21
21
  "license": "BSD-3-Clause",
22
22
  "dependencies": {
23
+ "@fsvreddit/bot-bouncer-types": "^1.0.2",
23
24
  "@fsvreddit/fsv-devvit-web-helpers": "^0.2.3",
24
25
  "@wordpress/wordcount": "^4.53.0",
25
26
  "date-fns": "^4.1.0",
@@ -1,14 +1,14 @@
1
- {
2
- "extends": "./tsconfig.json",
3
- "exclude": [
4
- "vitest.config.ts",
5
- "node_modules",
6
- "tests",
7
- "dist",
8
- "eslint.config.mjs"
9
- ],
10
- "compilerOptions": {
11
- "rootDir": "src",
12
- "outDir": "dist",
13
- }
14
- }
1
+ {
2
+ "extends": "./tsconfig.json",
3
+ "exclude": [
4
+ "vitest.config.ts",
5
+ "node_modules",
6
+ "tests",
7
+ "dist",
8
+ "eslint.config.mjs"
9
+ ],
10
+ "compilerOptions": {
11
+ "rootDir": "src",
12
+ "outDir": "dist",
13
+ }
14
+ }