added more support
This commit is contained in:
Vendored
+46
@@ -0,0 +1,46 @@
|
||||
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 {};
|
||||
Reference in New Issue
Block a user