@amatiscorp/disguard 1.5.0 → 1.6.0

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 (64) hide show
  1. package/README.md +232 -14
  2. package/dist/AntiSpam.d.ts +7 -1
  3. package/dist/AntiSpam.d.ts.map +1 -1
  4. package/dist/AntiSpam.js +113 -3
  5. package/dist/AntiSpam.js.map +1 -1
  6. package/dist/defaults.d.ts.map +1 -1
  7. package/dist/defaults.js +62 -1
  8. package/dist/defaults.js.map +1 -1
  9. package/dist/detectors/files.d.ts.map +1 -1
  10. package/dist/detectors/files.js +14 -0
  11. package/dist/detectors/files.js.map +1 -1
  12. package/dist/detectors/forward.d.ts +3 -0
  13. package/dist/detectors/forward.d.ts.map +1 -0
  14. package/dist/detectors/forward.js +35 -0
  15. package/dist/detectors/forward.js.map +1 -0
  16. package/dist/detectors/ghost.d.ts.map +1 -1
  17. package/dist/detectors/ghost.js +4 -0
  18. package/dist/detectors/ghost.js.map +1 -1
  19. package/dist/detectors/impersonate.d.ts +3 -0
  20. package/dist/detectors/impersonate.d.ts.map +1 -0
  21. package/dist/detectors/impersonate.js +86 -0
  22. package/dist/detectors/impersonate.js.map +1 -0
  23. package/dist/detectors/joins.d.ts +4 -0
  24. package/dist/detectors/joins.d.ts.map +1 -0
  25. package/dist/detectors/joins.js +30 -0
  26. package/dist/detectors/joins.js.map +1 -0
  27. package/dist/detectors/polls.d.ts +3 -0
  28. package/dist/detectors/polls.d.ts.map +1 -0
  29. package/dist/detectors/polls.js +35 -0
  30. package/dist/detectors/polls.js.map +1 -0
  31. package/dist/detectors/stickers.d.ts +3 -0
  32. package/dist/detectors/stickers.d.ts.map +1 -0
  33. package/dist/detectors/stickers.js +60 -0
  34. package/dist/detectors/stickers.js.map +1 -0
  35. package/dist/detectors/voice.d.ts +3 -0
  36. package/dist/detectors/voice.d.ts.map +1 -0
  37. package/dist/detectors/voice.js +35 -0
  38. package/dist/detectors/voice.js.map +1 -0
  39. package/dist/detectors/words.d.ts.map +1 -1
  40. package/dist/detectors/words.js +27 -3
  41. package/dist/detectors/words.js.map +1 -1
  42. package/dist/enforcement.d.ts +2 -1
  43. package/dist/enforcement.d.ts.map +1 -1
  44. package/dist/enforcement.js +100 -5
  45. package/dist/enforcement.js.map +1 -1
  46. package/dist/index.d.ts +5 -3
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +9 -1
  49. package/dist/index.js.map +1 -1
  50. package/dist/store/MemoryStore.d.ts +3 -0
  51. package/dist/store/MemoryStore.d.ts.map +1 -1
  52. package/dist/store/MemoryStore.js +23 -0
  53. package/dist/store/MemoryStore.js.map +1 -1
  54. package/dist/types.d.ts +84 -2
  55. package/dist/types.d.ts.map +1 -1
  56. package/dist/utils/flags.d.ts +5 -0
  57. package/dist/utils/flags.d.ts.map +1 -0
  58. package/dist/utils/flags.js +41 -0
  59. package/dist/utils/flags.js.map +1 -0
  60. package/dist/utils/normalize.d.ts +2 -0
  61. package/dist/utils/normalize.d.ts.map +1 -1
  62. package/dist/utils/normalize.js +46 -0
  63. package/dist/utils/normalize.js.map +1 -1
  64. package/package.json +2 -2
package/dist/AntiSpam.js CHANGED
@@ -14,23 +14,30 @@ const embed_1 = require("./detectors/embed");
14
14
  const emojis_1 = require("./detectors/emojis");
15
15
  const files_1 = require("./detectors/files");
16
16
  const flood_1 = require("./detectors/flood");
17
+ const forward_1 = require("./detectors/forward");
17
18
  const ghost_1 = require("./detectors/ghost");
18
19
  const hop_1 = require("./detectors/hop");
19
20
  const images_1 = require("./detectors/images");
21
+ const impersonate_1 = require("./detectors/impersonate");
22
+ const joins_1 = require("./detectors/joins");
20
23
  const invisible_1 = require("./detectors/invisible");
21
24
  const length_1 = require("./detectors/length");
22
25
  const links_1 = require("./detectors/links");
23
26
  const mentions_1 = require("./detectors/mentions");
24
27
  const newlines_1 = require("./detectors/newlines");
28
+ const polls_1 = require("./detectors/polls");
25
29
  const punctuation_1 = require("./detectors/punctuation");
26
30
  const raid_1 = require("./detectors/raid");
27
31
  const replies_1 = require("./detectors/replies");
28
32
  const secrets_1 = require("./detectors/secrets");
29
33
  const spoilers_1 = require("./detectors/spoilers");
34
+ const stickers_1 = require("./detectors/stickers");
35
+ const voice_1 = require("./detectors/voice");
30
36
  const words_1 = require("./detectors/words");
31
37
  const zalgo_1 = require("./detectors/zalgo");
32
38
  const enforcement_1 = require("./enforcement");
33
39
  const MemoryStore_1 = require("./store/MemoryStore");
40
+ const flags_1 = require("./utils/flags");
34
41
  const normalize_1 = require("./utils/normalize");
35
42
  const DETECTOR_TYPES = [
36
43
  "flood",
@@ -58,8 +65,25 @@ const DETECTOR_TYPES = [
58
65
  "blank",
59
66
  "embed",
60
67
  "raid",
68
+ "forward",
69
+ "sticker",
70
+ "impersonate",
71
+ "join",
72
+ "voice",
73
+ "poll",
61
74
  ];
62
- const ACTION_TYPES = ["delete", "warn", "timeout", "kick", "ban", "addRole", "removeRole", "purge"];
75
+ const ACTION_TYPES = [
76
+ "delete",
77
+ "warn",
78
+ "timeout",
79
+ "kick",
80
+ "ban",
81
+ "addRole",
82
+ "removeRole",
83
+ "purge",
84
+ "slowmode",
85
+ ];
86
+ const RECENT_LIMIT = 50;
63
87
  function emptyStats() {
64
88
  return {
65
89
  analyzed: 0,
@@ -78,6 +102,7 @@ class AntiSpam {
78
102
  guildConfigs = new Map();
79
103
  channelConfigs = new Map();
80
104
  stats = emptyStats();
105
+ recentIncidents = [];
81
106
  started = false;
82
107
  paused = false;
83
108
  cleanupTimer = null;
@@ -92,15 +117,19 @@ class AntiSpam {
92
117
  onDelete = (message) => {
93
118
  void this.handleDelete(message);
94
119
  };
120
+ onJoin = (member) => {
121
+ void this.handleJoin(member);
122
+ };
95
123
  constructor(client, options = {}) {
96
124
  this.client = client;
97
125
  this.options = options;
98
- const { preset, onDetect: _d, onAction: _a, onError: _e, onCooldown: _c, ...configOptions } = options;
126
+ const { preset, onDetect: _d, onAction: _a, onError: _e, onCooldown: _c, onJoin: _j, ...configOptions } = options;
99
127
  this.config = (0, defaults_1.resolveConfig)(preset, configOptions);
100
128
  this.detectors = [
101
129
  files_1.fileDetector,
102
130
  secrets_1.secretDetector,
103
131
  words_1.wordDetector,
132
+ impersonate_1.impersonateDetector,
104
133
  flood_1.floodDetector,
105
134
  hop_1.hopDetector,
106
135
  echo_1.echoDetector,
@@ -110,6 +139,10 @@ class AntiSpam {
110
139
  replies_1.replyDetector,
111
140
  blank_1.blankDetector,
112
141
  embed_1.embedDetector,
142
+ forward_1.forwardDetector,
143
+ voice_1.voiceDetector,
144
+ polls_1.pollDetector,
145
+ stickers_1.stickerDetector,
113
146
  links_1.linkDetector,
114
147
  (0, images_1.createImageDetector)(this.store),
115
148
  mentions_1.mentionDetector,
@@ -135,6 +168,9 @@ class AntiSpam {
135
168
  if (this.config.checkDeletes) {
136
169
  this.client.on("messageDelete", this.onDelete);
137
170
  }
171
+ if (this.config.checkJoins) {
172
+ this.client.on("guildMemberAdd", this.onJoin);
173
+ }
138
174
  this.cleanupTimer = setInterval(() => {
139
175
  this.store.cleanup(Date.now(), this.maxRetentionMs());
140
176
  }, this.config.cleanupIntervalMs);
@@ -149,6 +185,7 @@ class AntiSpam {
149
185
  this.client.off("messageCreate", this.onMessage);
150
186
  this.client.off("messageUpdate", this.onEdit);
151
187
  this.client.off("messageDelete", this.onDelete);
188
+ this.client.off("guildMemberAdd", this.onJoin);
152
189
  if (this.cleanupTimer) {
153
190
  clearInterval(this.cleanupTimer);
154
191
  this.cleanupTimer = null;
@@ -244,8 +281,21 @@ class AntiSpam {
244
281
  getStats() {
245
282
  return structuredClone(this.stats);
246
283
  }
284
+ getRecentIncidents(limit = 20) {
285
+ return this.recentIncidents.slice(-Math.max(1, limit)).reverse();
286
+ }
287
+ setDetectorEnabled(type, enabled) {
288
+ const current = new Set(this.config.disabledDetectors);
289
+ if (enabled)
290
+ current.delete(type);
291
+ else
292
+ current.add(type);
293
+ this.config = (0, defaults_1.mergeDeep)(this.config, { disabledDetectors: [...current] });
294
+ return this;
295
+ }
247
296
  resetStats() {
248
297
  this.stats = emptyStats();
298
+ this.recentIncidents.length = 0;
249
299
  }
250
300
  /**
251
301
  * Analyzes a message without punishing.
@@ -267,7 +317,7 @@ class AntiSpam {
267
317
  : this.store.pushMessage(message.guild.id, message.author.id, snapshot, this.maxRetentionMs(config));
268
318
  this.stats.analyzed += 1;
269
319
  const uniqueUsersInChannel = this.store.countUniqueUsers(message.guild.id, message.channelId, now, config.raid.windowMs);
270
- const graceOnly = ["file", "secret", "link", "word"];
320
+ const graceOnly = ["file", "secret", "link", "word", "impersonate", "forward"];
271
321
  const inGrace = config.graceMessages > 0 && history.length <= config.graceMessages;
272
322
  const detectors = this.orderedDetectors(config).filter((detector) => {
273
323
  if (config.disabledDetectors.includes(detector.type))
@@ -331,6 +381,7 @@ class AntiSpam {
331
381
  return;
332
382
  this.stats.incidents += 1;
333
383
  this.stats.byType[incident.type] += 1;
384
+ this.pushRecent(incident);
334
385
  await this.options.onDetect?.(incident, message);
335
386
  const strikes = this.store.addStrike(incident.guildId, incident.userId, Date.now(), config.punishment.strikeDecayMs);
336
387
  const result = await (0, enforcement_1.applyPunishment)(message, incident, strikes, config);
@@ -364,6 +415,7 @@ class AntiSpam {
364
415
  return;
365
416
  this.stats.incidents += 1;
366
417
  this.stats.byType.ghost += 1;
418
+ this.pushRecent(incident);
367
419
  await this.options.onDetect?.(incident, message);
368
420
  const strikes = this.store.addStrike(incident.guildId, incident.userId, Date.now(), config.punishment.strikeDecayMs);
369
421
  const result = await (0, enforcement_1.applyPunishment)(message, incident, strikes, config);
@@ -377,6 +429,45 @@ class AntiSpam {
377
429
  this.options.onError?.(error, "handleDelete");
378
430
  }
379
431
  }
432
+ async handleJoin(member) {
433
+ if (this.paused)
434
+ return;
435
+ if (member.user.bot && this.config.ignoreBots)
436
+ return;
437
+ const config = this.configFor(member.guild.id);
438
+ if (!config.enabled || !config.checkJoins)
439
+ return;
440
+ if (config.disabledDetectors.includes("join"))
441
+ return;
442
+ if (config.ignored.guilds.includes(member.guild.id))
443
+ return;
444
+ if (config.ignored.users.includes(member.id))
445
+ return;
446
+ if (config.ignoreOwner && member.id === member.guild.ownerId)
447
+ return;
448
+ try {
449
+ const now = Date.now();
450
+ this.store.pushJoin(member.guild.id, member.id, now, member.user.createdTimestamp);
451
+ const joinCount = this.store.countRecentJoins(member.guild.id, now, config.joins.windowMs, config.joins.minAccountAgeDays);
452
+ const incident = (0, joins_1.inspectJoin)(member, joinCount, config.joins, now);
453
+ if (!incident)
454
+ return;
455
+ this.stats.incidents += 1;
456
+ this.stats.byType.join += 1;
457
+ this.pushRecent(incident);
458
+ await this.options.onJoin?.(incident);
459
+ const strikes = this.store.addStrike(incident.guildId, incident.userId, now, config.punishment.strikeDecayMs);
460
+ const result = await (0, enforcement_1.applyMemberPunishment)(member, incident, strikes, config);
461
+ this.store.markAction(incident.guildId, incident.userId, now);
462
+ for (const action of result.applied) {
463
+ this.stats.actions[action] += 1;
464
+ }
465
+ await this.options.onAction?.(result);
466
+ }
467
+ catch (error) {
468
+ this.options.onError?.(error, "handleJoin");
469
+ }
470
+ }
380
471
  shouldIgnore(message) {
381
472
  const config = message.guild ? this.configFor(message.guild.id, message.channelId, message) : this.config;
382
473
  if (message.author.bot && config.ignoreBots)
@@ -427,6 +518,10 @@ class AntiSpam {
427
518
  if (config.ignored.roles.some((roleId) => member.roles.cache.has(roleId))) {
428
519
  return true;
429
520
  }
521
+ const booster = Boolean(member.premiumSince) ||
522
+ Boolean(member.premiumSinceTimestamp);
523
+ if (config.ignoreBoosters && booster)
524
+ return true;
430
525
  }
431
526
  return false;
432
527
  }
@@ -481,8 +576,18 @@ class AntiSpam {
481
576
  isReply: Boolean(message.reference?.messageId),
482
577
  emojiCount: (0, normalize_1.countEmojis)(message.content) + message.stickers.size,
483
578
  embedCount: message.embeds.length,
579
+ isForward: (0, flags_1.isForwardedMessage)(message),
580
+ stickerCount: message.stickers.size,
581
+ isVoice: (0, flags_1.isVoiceMessage)(message),
582
+ hasPoll: (0, flags_1.hasPoll)(message),
484
583
  };
485
584
  }
585
+ pushRecent(incident) {
586
+ this.recentIncidents.push(incident);
587
+ if (this.recentIncidents.length > RECENT_LIMIT) {
588
+ this.recentIncidents.splice(0, this.recentIncidents.length - RECENT_LIMIT);
589
+ }
590
+ }
486
591
  maxRetentionMs(config = this.config) {
487
592
  const windows = [
488
593
  config.flood.windowMs,
@@ -497,6 +602,11 @@ class AntiSpam {
497
602
  config.replies.windowMs,
498
603
  config.raid.windowMs,
499
604
  config.emojis.windowMs,
605
+ config.forwards.windowMs,
606
+ config.stickers.windowMs,
607
+ config.voice.windowMs,
608
+ config.polls.windowMs,
609
+ config.joins.windowMs,
500
610
  ];
501
611
  return Math.max(30_000, ...windows);
502
612
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AntiSpam.js","sourceRoot":"","sources":["../src/AntiSpam.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AntiSpam.js","sourceRoot":"","sources":["../src/AntiSpam.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,cAAc,EACf,MAAM,SAAS,CAAC;AAqVjB,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAuBlE;AAED,wBAAgB,aAAa,CAC3B,MAAM,EAAE,UAAU,GAAG,SAAS,EAC9B,OAAO,GAAE,WAAW,CAAC,cAAc,CAAM,GACxC,cAAc,CAGhB;AAED,eAAO,MAAM,cAAc,gBAAO,CAAC"}
1
+ {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,cAAc,EACf,MAAM,SAAS,CAAC;AAkZjB,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAuBlE;AAED,wBAAgB,aAAa,CAC3B,MAAM,EAAE,UAAU,GAAG,SAAS,EAC9B,OAAO,GAAE,WAAW,CAAC,cAAc,CAAM,GACxC,cAAc,CAGhB;AAED,eAAO,MAAM,cAAc,gBAAO,CAAC"}
package/dist/defaults.js CHANGED
@@ -125,6 +125,7 @@ const BASE = {
125
125
  ],
126
126
  allowedExtensions: [],
127
127
  maxBytes: 0,
128
+ blockDoubleExtensions: true,
128
129
  severity: "critical",
129
130
  },
130
131
  zalgo: {
@@ -156,6 +157,8 @@ const BASE = {
156
157
  regex: [],
157
158
  ignoreCase: true,
158
159
  matchWholeWord: true,
160
+ scanEmbeds: true,
161
+ normalizeHomoglyphs: true,
159
162
  severity: "high",
160
163
  },
161
164
  hop: {
@@ -228,6 +231,49 @@ const BASE = {
228
231
  windowMs: 6_000,
229
232
  severity: "high",
230
233
  },
234
+ forwards: {
235
+ enabled: true,
236
+ maxForwards: 4,
237
+ windowMs: 10_000,
238
+ severity: "medium",
239
+ },
240
+ stickers: {
241
+ enabled: true,
242
+ maxStickers: 3,
243
+ maxInWindow: 8,
244
+ windowMs: 10_000,
245
+ blockOnly: false,
246
+ severity: "low",
247
+ },
248
+ impersonate: {
249
+ enabled: true,
250
+ matchBot: true,
251
+ names: [],
252
+ minSimilarity: 0.84,
253
+ checkNickname: true,
254
+ checkUsername: true,
255
+ checkDisplayName: true,
256
+ severity: "high",
257
+ },
258
+ joins: {
259
+ enabled: false,
260
+ maxJoins: 8,
261
+ windowMs: 10_000,
262
+ minAccountAgeDays: 0,
263
+ severity: "critical",
264
+ },
265
+ voice: {
266
+ enabled: true,
267
+ maxVoice: 3,
268
+ windowMs: 15_000,
269
+ severity: "medium",
270
+ },
271
+ polls: {
272
+ enabled: true,
273
+ maxPolls: 2,
274
+ windowMs: 20_000,
275
+ severity: "medium",
276
+ },
231
277
  punishment: {
232
278
  deleteMessage: true,
233
279
  warnUser: true,
@@ -259,14 +305,17 @@ const BASE = {
259
305
  minStrikesForRoles: 1,
260
306
  purgeCount: 0,
261
307
  logWebhookUrl: null,
308
+ slowmodeSeconds: 0,
262
309
  },
263
310
  checkEdits: true,
264
311
  checkDeletes: true,
312
+ checkJoins: true,
265
313
  ignoreThreads: false,
266
314
  ignoreSystem: true,
267
315
  ignorePinned: false,
268
316
  ignoreOlderThanMs: 0,
269
317
  ignoreNsfw: false,
318
+ ignoreBoosters: false,
270
319
  graceMessages: 0,
271
320
  cleanupIntervalMs: 60_000,
272
321
  disabledDetectors: [],
@@ -282,7 +331,7 @@ const PRESET_OVERRIDES = {
282
331
  images: { maxRepeats: 4 },
283
332
  mentions: { maxMentions: 10, blockEveryone: true },
284
333
  caps: { enabled: false },
285
- emojis: { maxEmojis: 20 },
334
+ emojis: { maxEmojis: 20, maxStickers: 6 },
286
335
  zalgo: { enabled: false },
287
336
  newlines: { maxNewlines: 25 },
288
337
  hop: { enabled: false },
@@ -294,6 +343,12 @@ const PRESET_OVERRIDES = {
294
343
  replies: { enabled: false },
295
344
  blank: { enabled: false },
296
345
  raid: { enabled: false },
346
+ forwards: { enabled: false },
347
+ stickers: { maxStickers: 6, maxInWindow: 20 },
348
+ impersonate: { enabled: true, minSimilarity: 0.92 },
349
+ joins: { enabled: false },
350
+ voice: { enabled: false },
351
+ polls: { enabled: false },
297
352
  links: {
298
353
  blockInvites: false,
299
354
  blockShorteners: false,
@@ -330,6 +385,12 @@ const PRESET_OVERRIDES = {
330
385
  raid: { enabled: true, maxUsers: 6, windowMs: 5_000 },
331
386
  replies: { maxReplies: 4 },
332
387
  embeds: { maxEmbeds: 4 },
388
+ forwards: { maxForwards: 3, windowMs: 8_000 },
389
+ stickers: { maxStickers: 2, maxInWindow: 5, blockOnly: true },
390
+ impersonate: { minSimilarity: 0.78 },
391
+ joins: { enabled: true, maxJoins: 6, windowMs: 8_000 },
392
+ voice: { maxVoice: 2 },
393
+ polls: { maxPolls: 1 },
333
394
  punishment: {
334
395
  timeout: { enabled: true, durationMs: 5 * 60_000, minStrikes: 1, scale: "linear" },
335
396
  kick: { enabled: false, minStrikes: 4 },
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../src/detectors/files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAA2B,MAAM,UAAU,CAAC;AAGlE,eAAO,MAAM,0BAA0B,UAYtC,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,QAwD1B,CAAC"}
1
+ {"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../src/detectors/files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAA2B,MAAM,UAAU,CAAC;AAGlE,eAAO,MAAM,0BAA0B,UAYtC,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,QAuE1B,CAAC"}
@@ -25,6 +25,20 @@ exports.fileDetector = {
25
25
  for (const attachment of message.attachments.values()) {
26
26
  const name = attachment.name ?? "";
27
27
  const ext = name.includes(".") ? name.split(".").pop()?.toLowerCase() ?? "" : "";
28
+ const parts = name.toLowerCase().split(".").filter(Boolean);
29
+ if (rules.blockDoubleExtensions && parts.length > 2) {
30
+ const inner = parts.slice(0, -1);
31
+ if (inner.some((part) => blocked.has(part))) {
32
+ return (0, incident_1.createIncident)("file", snapshot, {
33
+ userId: message.author.id,
34
+ guildId: message.guild.id,
35
+ severity: rules.severity,
36
+ reason: `Doble extensión peligrosa: ${name}`,
37
+ details: { name, extension: ext, size: attachment.size },
38
+ recommendedActions: ["delete", "warn", "timeout"],
39
+ });
40
+ }
41
+ }
28
42
  if (rules.maxBytes > 0 && attachment.size > rules.maxBytes) {
29
43
  return (0, incident_1.createIncident)("file", snapshot, {
30
44
  userId: message.author.id,
@@ -1 +1 @@
1
- {"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/detectors/files.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/detectors/files.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Detector } from "../types";
2
+ export declare const forwardDetector: Detector;
3
+ //# sourceMappingURL=forward.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forward.d.ts","sourceRoot":"","sources":["../../src/detectors/forward.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAA2B,MAAM,UAAU,CAAC;AAIlE,eAAO,MAAM,eAAe,EAAE,QAyB7B,CAAC"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.forwardDetector = void 0;
4
+ const flags_1 = require("../utils/flags");
5
+ const incident_1 = require("./incident");
6
+ exports.forwardDetector = {
7
+ type: "forward",
8
+ inspect({ message, snapshot, history, config }) {
9
+ const rules = config.forwards;
10
+ if (!rules.enabled || !message.guild)
11
+ return null;
12
+ if (!snapshot.isForward && !(0, flags_1.isForwardedMessage)(message))
13
+ return null;
14
+ let count = 0;
15
+ for (const item of history) {
16
+ if (snapshot.timestamp - item.timestamp > rules.windowMs)
17
+ continue;
18
+ if (item.isForward)
19
+ count += 1;
20
+ }
21
+ if (!snapshot.isForward)
22
+ count += 1;
23
+ if (count < rules.maxForwards)
24
+ return null;
25
+ return (0, incident_1.createIncident)("forward", snapshot, {
26
+ userId: message.author.id,
27
+ guildId: message.guild.id,
28
+ severity: rules.severity,
29
+ reason: `Demasiados mensajes reenviados (${count}/${rules.maxForwards} en ${rules.windowMs}ms)`,
30
+ details: { count, windowMs: rules.windowMs },
31
+ recommendedActions: ["delete", "warn"],
32
+ });
33
+ },
34
+ };
35
+ //# sourceMappingURL=forward.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forward.js","sourceRoot":"","sources":["../../src/detectors/forward.ts"],"names":[],"mappings":";;;AACA,0CAAoD;AACpD,yCAA4C;AAE/B,QAAA,eAAe,GAAa;IACvC,IAAI,EAAE,SAAS;IACf,OAAO,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAiB;QAC3D,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAClD,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,CAAC,IAAA,0BAAkB,EAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC;QAErE,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;YAC3B,IAAI,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,QAAQ;gBAAE,SAAS;YACnE,IAAI,IAAI,CAAC,SAAS;gBAAE,KAAK,IAAI,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,SAAS;YAAE,KAAK,IAAI,CAAC,CAAC;QAEpC,IAAI,KAAK,GAAG,KAAK,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC;QAE3C,OAAO,IAAA,yBAAc,EAAC,SAAS,EAAE,QAAQ,EAAE;YACzC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE;YACzB,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE;YACzB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,MAAM,EAAE,mCAAmC,KAAK,IAAI,KAAK,CAAC,WAAW,OAAO,KAAK,CAAC,QAAQ,KAAK;YAC/F,OAAO,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE;YAC5C,kBAAkB,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;SACvC,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ghost.d.ts","sourceRoot":"","sources":["../../src/detectors/ghost.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAI1D,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,eAAe,EACvB,GAAG,EAAE,MAAM,GACV,QAAQ,GAAG,IAAI,CAmCjB"}
1
+ {"version":3,"file":"ghost.d.ts","sourceRoot":"","sources":["../../src/detectors/ghost.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAI1D,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,eAAe,EACvB,GAAG,EAAE,MAAM,GACV,QAAQ,GAAG,IAAI,CAuCjB"}
@@ -26,6 +26,10 @@ function inspectGhostPing(message, config, now) {
26
26
  isReply: false,
27
27
  emojiCount: 0,
28
28
  embedCount: 0,
29
+ isForward: false,
30
+ stickerCount: 0,
31
+ isVoice: false,
32
+ hasPoll: false,
29
33
  };
30
34
  return (0, incident_1.createIncident)("ghost", snapshot, {
31
35
  userId: message.author.id,
@@ -1 +1 @@
1
- {"version":3,"file":"ghost.js","sourceRoot":"","sources":["../../src/detectors/ghost.ts"],"names":[],"mappings":";;AAKA,4CAuCC;AA1CD,yCAA4C;AAG5C,SAAgB,gBAAgB,CAC9B,OAAgB,EAChB,MAAuB,EACvB,GAAW;IAEX,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACnD,IAAI,OAAO,CAAC,MAAM,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IAEpC,MAAM,cAAc,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC;IACnH,MAAM,QAAQ,GACZ,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAErF,IAAI,QAAQ,GAAG,MAAM,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAE/C,MAAM,OAAO,GAAG,OAAO,CAAC,gBAAgB,IAAI,GAAG,CAAC;IAChD,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,IAAI,GAAG,GAAG,OAAO,GAAG,MAAM,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAExE,MAAM,QAAQ,GAAoB;QAChC,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,GAAG;QACd,gBAAgB,EAAE,EAAE;QACpB,eAAe,EAAE,CAAC;QAClB,YAAY,EAAE,CAAC;QACf,OAAO,EAAE,KAAK;QACd,UAAU,EAAE,CAAC;QACb,UAAU,EAAE,CAAC;KACd,CAAC;IAEF,OAAO,IAAA,yBAAc,EAAC,OAAO,EAAE,QAAQ,EAAE;QACvC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE;QACzB,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE;QACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,MAAM,EAAE,uBAAuB,QAAQ,8BAA8B;QACrE,OAAO,EAAE,EAAE,QAAQ,EAAE;QACrB,kBAAkB,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC;KACxC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"ghost.js","sourceRoot":"","sources":["../../src/detectors/ghost.ts"],"names":[],"mappings":";;AAKA,4CA2CC;AA9CD,yCAA4C;AAG5C,SAAgB,gBAAgB,CAC9B,OAAgB,EAChB,MAAuB,EACvB,GAAW;IAEX,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACnD,IAAI,OAAO,CAAC,MAAM,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IAEpC,MAAM,cAAc,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC;IACnH,MAAM,QAAQ,GACZ,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAErF,IAAI,QAAQ,GAAG,MAAM,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAE/C,MAAM,OAAO,GAAG,OAAO,CAAC,gBAAgB,IAAI,GAAG,CAAC;IAChD,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,IAAI,GAAG,GAAG,OAAO,GAAG,MAAM,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAExE,MAAM,QAAQ,GAAoB;QAChC,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,GAAG;QACd,gBAAgB,EAAE,EAAE;QACpB,eAAe,EAAE,CAAC;QAClB,YAAY,EAAE,CAAC;QACf,OAAO,EAAE,KAAK;QACd,UAAU,EAAE,CAAC;QACb,UAAU,EAAE,CAAC;QACb,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,CAAC;QACf,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,KAAK;KACf,CAAC;IAEF,OAAO,IAAA,yBAAc,EAAC,OAAO,EAAE,QAAQ,EAAE;QACvC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE;QACzB,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE;QACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,MAAM,EAAE,uBAAuB,QAAQ,8BAA8B;QACrE,OAAO,EAAE,EAAE,QAAQ,EAAE;QACrB,kBAAkB,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC;KACxC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Detector } from "../types";
2
+ export declare const impersonateDetector: Detector;
3
+ //# sourceMappingURL=impersonate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"impersonate.d.ts","sourceRoot":"","sources":["../../src/detectors/impersonate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAA2B,MAAM,UAAU,CAAC;AAmDlE,eAAO,MAAM,mBAAmB,EAAE,QAgCjC,CAAC"}