catto.js 1.4.8 → 1.5.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 (2) hide show
  1. package/Bot.js +26 -1
  2. package/package.json +1 -1
package/Bot.js CHANGED
@@ -320,7 +320,7 @@ module.exports = class extends EventEmitter {
320
320
  }
321
321
  var found = !1;
322
322
  for (var log of fetchedLogs.values()) {
323
- if (log.targetId != message.author.id || log.extra.channel.id != message.channel.id) {
323
+ if (!message.author || !message.channel || log.targetId != message.author.id || log.extra.channel.id != message.channel.id) {
324
324
  continue;
325
325
  }
326
326
  if (this.auditDatabase[log.id] !== log.extra.count) {
@@ -383,6 +383,31 @@ module.exports = class extends EventEmitter {
383
383
  addExecutor(this, "stickerDelete", "stickerDeleted", "deletedBy", 92);
384
384
  addExecutor(this, "threadCreate", "threadCreated", "createdBy", 110);
385
385
  addExecutor(this, "threadDelete", "threadDeleted", "deletedBy", 112);
386
+ this.client.on("guildBanAdd", async ban => {
387
+ ban.user = new User(ban.user, this);
388
+ if (!this.options.detectExecutors) {
389
+ return this.emit("memberBanned", ban);
390
+ }
391
+ if (!ban.guild.members.me.permissions.has(Discord.PermissionsBitField.Flags.ViewAuditLog)) {
392
+ return this.emit("memberBanned", ban);
393
+ }
394
+ try {
395
+ var fetchedLogs = (await ban.guild.fetchAuditLogs({
396
+ "limit": 100,
397
+ "type": 22
398
+ })).entries;
399
+ } catch {
400
+ return this.emit("memberBanned", ban);
401
+ }
402
+ for (var log of fetchedLogs.values()) {
403
+ if (log.targetId == ban.user.id) {
404
+ ban.bannedBy = new User(log.executor, this);
405
+ ban.bannedById = log.executorId;
406
+ break;
407
+ }
408
+ }
409
+ this.emit("memberBanned", ban);
410
+ });
386
411
  this.auditDatabase = {};
387
412
  if (this.options.auditFile) {
388
413
  if (!fs.existsSync(this.options.auditFile.replace("%", this.cluster ? this.cluster.id.toString() : "0"))) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "catto.js",
3
- "version": "1.4.8",
3
+ "version": "1.5.0",
4
4
  "description": "Universal module for everything.",
5
5
  "main": "index.js",
6
6
  "scripts": {