mirror of
https://github.com/ZeppelinBot/Zeppelin.git
synced 2025-03-16 14:11:50 +00:00
Add sticker_spam automod trigger
This commit is contained in:
parent
0c73587b25
commit
3aada93a80
8 changed files with 34 additions and 7 deletions
11
backend/package-lock.json
generated
11
backend/package-lock.json
generated
|
@ -1562,9 +1562,8 @@
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"eris": {
|
"eris": {
|
||||||
"version": "0.13.3",
|
"version": "github:dragory/eris#9c1935b31a1c2972861464b54bb382a165674b93",
|
||||||
"resolved": "https://registry.npmjs.org/eris/-/eris-0.13.3.tgz",
|
"from": "github:dragory/eris#stickers",
|
||||||
"integrity": "sha512-WBtLyknOWZpYZL9yPhez0oKUWvYpunSg43hGxawwjwSf3gFXmbEPYrT8KlmZXtpJnX16eQ7mzIq+MgSh3LarEg==",
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"opusscript": "^0.0.7",
|
"opusscript": "^0.0.7",
|
||||||
"tweetnacl": "^1.0.1",
|
"tweetnacl": "^1.0.1",
|
||||||
|
@ -4568,9 +4567,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"ws": {
|
"ws": {
|
||||||
"version": "7.3.0",
|
"version": "7.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/ws/-/ws-7.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/ws/-/ws-7.3.1.tgz",
|
||||||
"integrity": "sha512-iFtXzngZVXPGgpTlP1rBqsUK82p9tKqsWRPg5L56egiljujJT3vGAYnHANvFxBieXrTFavhzhxW52jnaWV+w2w=="
|
"integrity": "sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA=="
|
||||||
},
|
},
|
||||||
"xdg-basedir": {
|
"xdg-basedir": {
|
||||||
"version": "4.0.0",
|
"version": "4.0.0",
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
"deep-diff": "^1.0.2",
|
"deep-diff": "^1.0.2",
|
||||||
"dotenv": "^4.0.0",
|
"dotenv": "^4.0.0",
|
||||||
"emoji-regex": "^8.0.0",
|
"emoji-regex": "^8.0.0",
|
||||||
"eris": "^0.13.3",
|
"eris": "github:dragory/eris#stickers",
|
||||||
"erlpack": "github:abalabahaha/erlpack",
|
"erlpack": "github:abalabahaha/erlpack",
|
||||||
"escape-string-regexp": "^1.0.5",
|
"escape-string-regexp": "^1.0.5",
|
||||||
"express": "^4.17.0",
|
"express": "^4.17.0",
|
||||||
|
|
|
@ -46,6 +46,7 @@ export class GuildSavedMessages extends BaseGuildRepository {
|
||||||
|
|
||||||
if (msg.attachments.length) data.attachments = msg.attachments;
|
if (msg.attachments.length) data.attachments = msg.attachments;
|
||||||
if (msg.embeds.length) data.embeds = msg.embeds;
|
if (msg.embeds.length) data.embeds = msg.embeds;
|
||||||
|
if (msg.stickers?.length) data.stickers = msg.stickers;
|
||||||
|
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
import { Column, Entity, PrimaryColumn } from "typeorm";
|
import { Column, Entity, PrimaryColumn } from "typeorm";
|
||||||
import { createEncryptedJsonTransformer } from "../encryptedJsonTransformer";
|
import { createEncryptedJsonTransformer } from "../encryptedJsonTransformer";
|
||||||
|
import { Sticker } from "eris";
|
||||||
|
|
||||||
export interface ISavedMessageData {
|
export interface ISavedMessageData {
|
||||||
attachments?: object[];
|
attachments?: object[];
|
||||||
|
@ -9,6 +10,7 @@ export interface ISavedMessageData {
|
||||||
};
|
};
|
||||||
content: string;
|
content: string;
|
||||||
embeds?: object[];
|
embeds?: object[];
|
||||||
|
stickers?: Sticker[];
|
||||||
timestamp: number;
|
timestamp: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -14,4 +14,5 @@ export enum RecentActionType {
|
||||||
Character,
|
Character,
|
||||||
VoiceChannelMove,
|
VoiceChannelMove,
|
||||||
MemberJoin,
|
MemberJoin,
|
||||||
|
Sticker,
|
||||||
}
|
}
|
||||||
|
|
|
@ -126,4 +126,21 @@ export function addRecentActionsFromMessage(pluginData: GuildPluginData<AutomodP
|
||||||
count: characterCount,
|
count: characterCount,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const stickerCount = (context.message.data.stickers || []).length;
|
||||||
|
if (stickerCount) {
|
||||||
|
pluginData.state.recentActions.push({
|
||||||
|
context,
|
||||||
|
type: RecentActionType.Sticker,
|
||||||
|
identifier: globalIdentifier,
|
||||||
|
count: stickerCount,
|
||||||
|
});
|
||||||
|
|
||||||
|
pluginData.state.recentActions.push({
|
||||||
|
context,
|
||||||
|
type: RecentActionType.Sticker,
|
||||||
|
identifier: perChannelIdentifier,
|
||||||
|
count: stickerCount,
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,6 +16,7 @@ import { MemberJoinSpamTrigger } from "./memberJoinSpam";
|
||||||
import { MemberJoinTrigger } from "./memberJoin";
|
import { MemberJoinTrigger } from "./memberJoin";
|
||||||
import { RoleAddedTrigger } from "./roleAdded";
|
import { RoleAddedTrigger } from "./roleAdded";
|
||||||
import { RoleRemovedTrigger } from "./roleRemoved";
|
import { RoleRemovedTrigger } from "./roleRemoved";
|
||||||
|
import { StickerSpamTrigger } from "./stickerSpam";
|
||||||
|
|
||||||
export const availableTriggers: Record<string, AutomodTriggerBlueprint<any, any>> = {
|
export const availableTriggers: Record<string, AutomodTriggerBlueprint<any, any>> = {
|
||||||
match_words: MatchWordsTrigger,
|
match_words: MatchWordsTrigger,
|
||||||
|
@ -35,6 +36,7 @@ export const availableTriggers: Record<string, AutomodTriggerBlueprint<any, any>
|
||||||
line_spam: LineSpamTrigger,
|
line_spam: LineSpamTrigger,
|
||||||
character_spam: CharacterSpamTrigger,
|
character_spam: CharacterSpamTrigger,
|
||||||
member_join_spam: MemberJoinSpamTrigger,
|
member_join_spam: MemberJoinSpamTrigger,
|
||||||
|
sticker_spam: StickerSpamTrigger,
|
||||||
};
|
};
|
||||||
|
|
||||||
export const AvailableTriggers = t.type({
|
export const AvailableTriggers = t.type({
|
||||||
|
@ -55,4 +57,5 @@ export const AvailableTriggers = t.type({
|
||||||
line_spam: LineSpamTrigger.configType,
|
line_spam: LineSpamTrigger.configType,
|
||||||
character_spam: CharacterSpamTrigger.configType,
|
character_spam: CharacterSpamTrigger.configType,
|
||||||
member_join_spam: MemberJoinSpamTrigger.configType,
|
member_join_spam: MemberJoinSpamTrigger.configType,
|
||||||
|
sticker_spam: StickerSpamTrigger.configType,
|
||||||
});
|
});
|
||||||
|
|
4
backend/src/plugins/Automod/triggers/stickerSpam.ts
Normal file
4
backend/src/plugins/Automod/triggers/stickerSpam.ts
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
import { RecentActionType } from "../constants";
|
||||||
|
import { createMessageSpamTrigger } from "../functions/createMessageSpamTrigger";
|
||||||
|
|
||||||
|
export const StickerSpamTrigger = createMessageSpamTrigger(RecentActionType.Sticker, "sticker");
|
Loading…
Add table
Reference in a new issue