-
Notifications
You must be signed in to change notification settings - Fork 3
/
results.ts
126 lines (110 loc) · 2.55 KB
/
results.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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
export type Snowflake = `${bigint}`
export type InviteType = 'leaves' | 'regular' | 'fake' | 'bonus'
export type PluginName = 'join' | 'leave' | 'joinDM'
export interface CountGuildInvites {
leaves: number;
regular: number;
fake: number;
bonus: number;
}
export interface GuildStorage {
guildID: Snowflake;
storageID: string;
createdAt: number;
}
export interface GuildSubscription {
id: string;
expiresAt: Date;
createdAt: Date;
subLabel: string;
guildsCount: number;
patreonUserID: string;
cancelled: boolean;
subInvalidated: boolean;
}
export interface SubscriptionPayment {
id: string;
payerDiscordID: string;
amount: number;
createdAt: Date;
type: string;
transactionID: string;
details: unknown;
modDiscordID: string;
signupID: string;
payerEmail: string;
payerDiscordUsername: string;
}
export interface GuildSettings {
guildID: Snowflake;
storageID: string;
language: string;
prefix: string;
cmdChannel: string;
fakeThreshold: number;
}
export interface PremiumStatus {
guildID: Snowflake;
isPremium: boolean;
isTrial: boolean;
}
export interface GuildSubscriptionStatus {
isPayPal: boolean;
isCancelled: boolean;
}
export interface GuildAlert {
id: number;
guildID: Snowflake;
inviteCount: number;
channelID: string;
message: string;
type: string;
}
export interface GuildPlugin {
guildID: Snowflake;
pluginName: PluginName;
pluginData: Record<string, unknown>;
}
export interface UserLeaderboardEntry {
userID: string;
invites: number;
regular: number;
leaves: number;
bonus: number;
fake: number;
}
export interface GuildMember {
userID: string;
guildID: Snowflake;
storageID: string;
fake: number;
leaves: number;
bonus: number;
regular: number;
notCreated: boolean;
invites: number;
}
type GuildMemberEventType = 'join' | 'leave'
type GuildMemberEventJoinType = 'normal' | 'oauth' | 'vanity' | 'perm' | 'unknown'
export interface GuildMemberEvent {
userID: string;
guildID: Snowflake;
eventType: GuildMemberEventType;
eventDate: number | Date;
joinType: GuildMemberEventJoinType;
inviterID: string;
inviteData: unknown;
storageID: string;
joinFake: boolean;
}
export interface TransactionData {
subID: string;
guildID: Snowflake;
}
export interface NewlyCancelledPayment {
payerDiscordID: string;
subID: string;
paymentID: string;
guildID: Snowflake;
subLabel: string;
}