Files
Guardian/dist/types/ratelimit.d.ts
T
2024-02-12 19:06:52 +01:00

47 lines
1.1 KiB
TypeScript

type Event = {
name: string;
cooldown: number;
maxAttempts: number;
lastAttempt?: number;
attempts?: number[];
};
type user = {
token: string;
events: {
[name: string]: Event;
};
};
export default class RateLimit {
users: {
[token: string]: user;
};
events: {
[name: string]: Event;
};
constructor(users?: {
[token: string]: user;
}, events?: {
[name: string]: Event;
});
addEvent(event: Event): boolean;
removeEvent(name: string): boolean;
addUser(token: string): boolean;
removeUser(token: string): boolean;
attempt(token: string, name: string): boolean;
getEvents(): {
[name: string]: Event;
};
getUsers(): {
[token: string]: user;
};
getEvent(name: string): Event;
getUser(token: string): user;
remainingAttempts(token: string, name: string): number;
resetAttempts(token: string, name: string): boolean;
resetAllAttempts(token: string): boolean;
resetAllUsers(): boolean;
resetEvent(name: string): boolean;
resetUser(token: string): boolean;
}
export {};