-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathevents.ts
52 lines (50 loc) · 1.27 KB
/
events.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
import {
Bot,
Channel,
EventHandlers,
Guild,
Member,
Message,
Role,
User,
} from "discordeno";
import { BotWithProxyCache, ProxyCacheTypes } from ".";
export type Events = {
[K in keyof EventHandlers]: EventHandlers[K] extends
(bot: infer T, ...rest: infer R) => infer U
? Bot extends T ? (bot: Bot, ...rest: R) => U
: (...rest: Parameters<EventHandlers[K]>) => U
: never;
};
export interface BotWithProxyEvents extends Events {
channelUpdateWithOldChannel(
bot: BotWithProxyCache<ProxyCacheTypes, Bot>,
oldChannel: Channel,
newChannel: Channel,
): unknown;
messageUpdateWithOldMessage(
bot: BotWithProxyCache<ProxyCacheTypes, Bot>,
oldChannel: Message,
newChannel: Message,
): unknown;
guildUpdateWithOldGuild(
bot: BotWithProxyCache<ProxyCacheTypes, Bot>,
oldChannel: Guild,
newChannel: Guild,
): unknown;
guildRoleUpdateWithOldRole(
bot: BotWithProxyCache<ProxyCacheTypes, Bot>,
oldRole: Role,
newRole: Role,
): unknown;
guildMemberUpdateWithOldMember(
bot: BotWithProxyCache<ProxyCacheTypes, Bot>,
oldMember: Member,
newMember: Member,
): unknown;
userUpdateWithOldUser(
bot: BotWithProxyCache<ProxyCacheTypes, Bot>,
oldUser: User,
newUser: User,
): unknown;
}