discord-invites-manager
Version:
The Discord Invites Manager is an npm module written in TypeScript. It is designed to facilitate the management and tracking of invites in a Discord bot using the Discord.js library. The module provides functionalities to track different types of invites,
34 lines (33 loc) • 1.04 kB
TypeScript
import { GuildMember, User } from "discord.js";
type JoinType = 'permissions' | 'normal' | 'vanity' | 'unknown';
type inviterType = User | 'vanity' | 'unknown';
interface InvitesTracker {
on(event: 'cacheFetched', listener: () => void): this;
on(event: 'guildMemberAdd', listener: (member: ExtendedGuildMember, joinType: JoinType) => void): this;
on(event: 'guildMemberRemove', listener: (member: ExtendedGuildMember) => void): this;
}
declare enum InviteType {
regular = "regular",
bonus = "bonus",
fake = "fake",
leave = "leave"
}
interface IInvitesNumber {
regular: number;
bonus: number;
fake: number;
leave: number;
total: number;
}
interface IInvites {
regular: string[];
bonus: number;
fake: string[];
leave: string[];
}
type ExtendedGuildMember = GuildMember & {
invites: IInvitesNumber;
invitesUsers: IInvites;
invitedBy: 'vanity' | User | 'unknown';
};
export { InviteType, IInvites, IInvitesNumber, ExtendedGuildMember, inviterType, InvitesTracker };