@mateie/discord-logs
Version:
Add many useful events to your discord.js client!
231 lines (230 loc) • 10.5 kB
JavaScript
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.handleGuildUpdateEvent = void 0;
/**
* @handler Guild Events
* @related guildUpdate
*/
function handleGuildUpdateEvent(client, oldGuild, newGuild) {
return __awaiter(this, void 0, void 0, function* () {
let emitted = false;
/**
* @event guildBoostLevelUp
* @description Emitted when a guild's boost level increases.
* @param {DJS:Guild} guild The guild whose boost level has increased.
* @param {number} oldLevel The old boost level.
* @param {number} newLevel The new boost level.
* @example
* client.on("guildBoostLevelUp", (guild, oldLevel, newLevel) => {
* console.log(guild.name+" reaches the boost level: "+newLevel);
* });
*/
if (oldGuild.premiumTier < newGuild.premiumTier) {
client.emit('guildBoostLevelUp', newGuild, oldGuild.premiumTier, newGuild.premiumTier);
emitted = true;
}
/**
* @event guildBoostLevelDown
* @description Emitted when a guild's boost level decreases.
* @param {DJS:Guild} guild The guild whose boost level has decreased.
* @param {number} oldLevel The old boost level.
* @param {number} newLevel The new boost level.
* @example
* client.on("guildBoostLevelDown", (guild, oldLevel, newLevel) => {
* console.log(guild.name+" returned to the boost level: "+newLevel);
* });
*/
if (oldGuild.premiumTier > newGuild.premiumTier) {
client.emit('guildBoostLevelDown', oldGuild, newGuild);
emitted = true;
}
/**
* @event guildBannerAdd
* @description Emitted when a guild banner is added.
* @param {DJS:Guild} guild The guild whose banner has been added.
* @param {string} bannerURL The guild banner.
* @example
* client.on("guildBannerAdd", (guild, bannerURL) => {
* console.log(guild.name+" has a banner now!");
* });
*/
if (!oldGuild.banner && newGuild.banner) {
client.emit('guildBannerAdd', newGuild, newGuild.bannerURL());
emitted = true;
}
/**
* @event guildAfkChannelAdd
* @description Emitted when a guild afk channel is added.
* @param {DJS:Guild} guild The guild whose afk channel has been added.
* @param {string} afkChannel The afk channel.
* @example
* client.on("guildAfkChannelAdd", (guild, afkChannel) => {
* console.log(guild.name+" has an AFK channel now!");
* });
*/
if (!oldGuild.afkChannel && newGuild.afkChannel) {
client.emit('guildAfkChannelAdd', newGuild, newGuild.afkChannel);
emitted = true;
}
/**
* @event guildVanityURLAdd
* @description Emitted when a guild adds a vanity url.
* @param {DJS:Guild} guild The guild which added a vanity url.
* @param {string} vanityURL The vanity url.
* @example
* client.on("guildVanityURLAdd", (guild, vanityURL) => {
* console.log(guild.name+" has added a vanity url : "+vanityURL);
* });
*/
if (!oldGuild.vanityURLCode && newGuild.vanityURLCode) {
client.emit('guildVanityURLAdd', newGuild, newGuild.vanityURLCode);
emitted = true;
}
/**
* @event guildVanityURLRemove
* @description Emitted when a guild removes its vanity URL.
* @param {DJS:Guild} guild The guild which removed its vanity URL.
* @param {string} vanityURL The vanity url.
* @example
* client.on("guildVanityURLRemove", (guild, vanityURL) => {
* console.log(guild.name+" has removed its vanity url : "+vanityURL);
* });
*/
if (oldGuild.vanityURLCode && !newGuild.vanityURLCode) {
client.emit('guildVanityURLRemove', newGuild, oldGuild.vanityURLCode);
emitted = true;
}
/**
* @event guildVanityURLUpdate
* @description Emitted when a guild updates its vanity URL.
* @param {DJS:Guild} guild The guild which updated a vanity URL.
* @param {string} oldVanityURL The former vanity URL.
* @param {string} vanityURL The updated vanity URL.
* @example
* client.on("guildVanityURLUpdate", (guild, oldVanityURL, newVanityURL) => {
* console.log(`${guild.name} has changed its vanity URL from ${oldGuildvanityURL} to ${newGuildvanityURL} !`);
* });
*/
if (oldGuild.vanityURLCode !== newGuild.vanityURLCode) {
client.emit('guildVanityURLUpdate', newGuild, oldGuild.vanityURLCode, newGuild.vanityURLCode);
emitted = true;
}
/**
* @event guildFeaturesUpdate
* @description Emitten when a guild feature gets updated.
* @param {DJS:Guild} oldGuild The guild before its feature(s) were updated.
* @param {DJS:Guild} newGuild The guild after its feature(s) were updated.
* @example
* client.on("guildFeaturesUpdate", (oldGuild, newGuild) => {
* console.log(`New features: ${newGuild.features.join(", ")}`);
* });
*/
if (oldGuild.features.length !== newGuild.features.length) {
client.emit('guildFeaturesUpdate', oldGuild, newGuild);
emitted = true;
}
/**
* @event guildAcronymUpdate
* @description Emitted when a guild updates its Acronym.
* @param {DJS:Guild} oldGuild The guild before its Acronym was updated.
* @param {DJS:Guild} newGuild The guild after its Acronym was updated.
* @example
* client.on("guildAcronymUpdate", (oldGuild, newGuild) => {
* console.log(oldGuild.name+" updated its Acronym : "+newGuild.nameAcronym);
* });
*/
if (oldGuild.nameAcronym !== newGuild.nameAcronym) {
client.emit('guildAcronymUpdate', oldGuild, newGuild);
emitted = true;
}
/**
* @event guildOwnerUpdate
* @description Emitted when a guild updates its owner.
* @param {DJS:Guild} oldGuild The guild before its owner was updated.
* @param {DJS:Guild} newGuild The guild after its owner was updated.
* @example
* client.on("guildOwnerUpdate", (oldGuild, newGuild) => {
* console.log(oldGuild.name+" updated its owner : "+newGuild.owner.id);
* });
*/
if (oldGuild.ownerId !== newGuild.ownerId) {
client.emit('guildOwnerUpdate', oldGuild, newGuild);
emitted = true;
}
/**
* @event guildPartnerAdd
* @description Emitted when a guild gets partnered.
* @param {DJS:Guild} guild The guild who partnered.
* @example
* client.on("guildPartnerAdd", (guild) => {
* console.log(guild.name+" got partnered!");
* });
*/
if (!oldGuild.partnered && newGuild.partnered) {
client.emit('guildPartnerAdd', newGuild);
emitted = true;
}
/**
* @event guildPartnerRemove
* @description Emitted when a guild is no longer partnered.
* @param {DJS:Guild} guild The guild who removed partnership.
* @example
* client.on("guildPartnerRemove", (guild) => {
* console.log(guild.name+" is no longer partnered!");
* });
*/
if (oldGuild.partnered && !newGuild.partnered) {
client.emit('guildPartnerRemove', newGuild);
emitted = true;
}
/**
* @event guildVerificationAdd
* @description Emitted when a guild gets verified.
* @param {DJS:Guild} guild The guild who got verified.
* @example
* client.on("guildVerificationAdd", (guild) => {
* console.log(guild.name+" got verified!");
* });
*/
if (!oldGuild.verified && newGuild.verified) {
client.emit('guildVerificationAdd', newGuild);
emitted = true;
}
/**
* @event guildVerificationRemove
* @description Emitted when a guild is no longer verified.
* @param {DJS:Guild} guild The guild who is no longer verified.
* @example
* client.on("guildVerificationRemove", (guild) => {
* console.log(guild.name+" is no longer verified!");
* });
*/
if (oldGuild.verified && !newGuild.verified) {
client.emit('guildVerificationRemove', newGuild);
emitted = true;
}
/**
* @event unhandledGuildUpdate
* @description Emitted when the guildUpdate event is triggered but discord-logs didn't trigger any custom event.
* @param {DJS:Guild} oldGuild The guild before the update.
* @param {DJS:Guild} newGuild The guild after the update.
* @example
* client.on("unhandledGuildUpdate", (oldGuild, newGuild) => {
* console.log("Guild '"+oldGuild.id+"' was edited but discord-logs couldn't find what was updated...");
* });
*/
if (!emitted) {
client.emit('unhandledGuildUpdate', oldGuild, newGuild);
}
});
}
exports.handleGuildUpdateEvent = handleGuildUpdateEvent;