xernerx 4.17.7 → 4.17.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/build/XernerxContextCommand.d.ts +47 -75
- package/dist/build/XernerxContextCommand.js +115 -119
- package/dist/build/XernerxEvent.d.ts +10 -10
- package/dist/build/XernerxEvent.js +17 -17
- package/dist/build/XernerxInhibitor.d.ts +15 -39
- package/dist/build/XernerxInhibitor.js +18 -18
- package/dist/build/XernerxMessageCommand.d.ts +52 -78
- package/dist/build/XernerxMessageCommand.js +114 -118
- package/dist/build/XernerxSlashCommand.d.ts +63 -97
- package/dist/build/XernerxSlashCommand.js +173 -177
- package/dist/client/XernerxClient.d.ts +55 -61
- package/dist/client/XernerxClient.js +94 -91
- package/dist/client/XernerxShardClient.d.ts +14 -14
- package/dist/client/XernerxShardClient.js +48 -61
- package/dist/functions/deploy.js +52 -45
- package/dist/functions/load.js +29 -28
- package/dist/functions/reload.js +24 -23
- package/dist/functions/setPresence.d.ts +1 -1
- package/dist/functions/setPresence.js +16 -17
- package/dist/handlers/CommandHandler.d.ts +10 -10
- package/dist/handlers/CommandHandler.js +337 -312
- package/dist/handlers/EventHandler.d.ts +5 -3
- package/dist/handlers/EventHandler.js +76 -48
- package/dist/handlers/ExtensionHandler.d.ts +3 -3
- package/dist/handlers/ExtensionHandler.js +23 -23
- package/dist/handlers/Handler.d.ts +17 -22
- package/dist/handlers/Handler.js +57 -45
- package/dist/handlers/InhibitorHandler.d.ts +3 -3
- package/dist/handlers/InhibitorHandler.js +23 -25
- package/dist/handlers/IntegrationHandler.d.ts +6 -6
- package/dist/handlers/IntegrationHandler.js +20 -20
- package/dist/main.d.ts +22 -29
- package/dist/main.js +22 -29
- package/dist/models/Arguments.d.ts +1 -4
- package/dist/models/Arguments.js +149 -134
- package/dist/models/Cooldowns.d.ts +6 -6
- package/dist/models/Cooldowns.js +29 -25
- package/dist/models/XernerxEntitlement.d.ts +45 -0
- package/dist/models/XernerxEntitlement.js +57 -0
- package/dist/models/XernerxUser.d.ts +14 -0
- package/dist/models/XernerxUser.js +13 -0
- package/dist/tools/XernerxError.d.ts +4 -4
- package/dist/tools/XernerxError.js +8 -8
- package/dist/tools/XernerxIntents.d.ts +2 -2
- package/dist/tools/XernerxIntents.js +21 -21
- package/dist/tools/XernerxLog.d.ts +25 -25
- package/dist/tools/XernerxLog.js +131 -140
- package/dist/tools/XernerxText.d.ts +23 -23
- package/dist/tools/XernerxText.js +89 -79
- package/dist/types/extenders.d.ts +47 -55
- package/dist/types/interfaces.d.ts +190 -195
- package/dist/types/types.d.ts +5 -104
- package/dist/utils/ClientUtil.d.ts +10 -12
- package/dist/utils/ClientUtil.js +117 -96
- package/dist/utils/InteractionUtil.d.ts +13 -13
- package/dist/utils/InteractionUtil.js +147 -148
- package/dist/utils/MessageUtil.d.ts +14 -14
- package/dist/utils/MessageUtil.js +161 -162
- package/dist/utils/Util.d.ts +7 -7
- package/dist/utils/Util.js +7 -7
- package/dist/validators/commandValidation.d.ts +1 -4
- package/dist/validators/commandValidation.js +114 -157
- package/dist/validators/inhibitorValidations.d.ts +2 -21
- package/dist/validators/inhibitorValidations.js +39 -39
- package/package.json +6 -5
- package/tsup.config.ts +19 -0
- package/dist/functions/xernerxUser.d.ts +0 -4
- package/dist/functions/xernerxUser.js +0 -10
package/dist/models/Arguments.js
CHANGED
|
@@ -1,139 +1,154 @@
|
|
|
1
1
|
/** @format */
|
|
2
2
|
export async function messageArguments(message, command, prefix) {
|
|
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
|
-
|
|
3
|
+
const separator = command.separator || ' ', content = message.content
|
|
4
|
+
.replace(new RegExp(`${prefix} +?`), '')
|
|
5
|
+
.split(separator)
|
|
6
|
+
.slice(1);
|
|
7
|
+
let args = {}, flags = {};
|
|
8
|
+
if (command.flags)
|
|
9
|
+
command.flags.map((flag) => {
|
|
10
|
+
if (!flags)
|
|
11
|
+
flags = {};
|
|
12
|
+
if (content.includes(flag.match))
|
|
13
|
+
flags[flag.name] = true;
|
|
14
|
+
else
|
|
15
|
+
flags[flag.name] = false;
|
|
16
|
+
const index = content.indexOf(flag.match);
|
|
17
|
+
if (index > 0)
|
|
18
|
+
content.splice(index, 1);
|
|
19
|
+
});
|
|
20
|
+
if (command.args)
|
|
21
|
+
for (const argument of command.args) {
|
|
22
|
+
const element = content.at(0) || null;
|
|
23
|
+
if (!element) {
|
|
24
|
+
if (typeof argument.default === 'function')
|
|
25
|
+
args[argument.name] = argument.default(message);
|
|
26
|
+
args[argument.name] = argument.default || null;
|
|
27
|
+
continue;
|
|
28
|
+
}
|
|
29
|
+
if (argument.type === 'option')
|
|
30
|
+
argument.match?.includes(element) ? (args[argument.name] = element) : (args[argument.name] = null);
|
|
31
|
+
if (argument.type === 'number')
|
|
32
|
+
args[argument.name] = parseInt(element);
|
|
33
|
+
if (argument.type === 'integer')
|
|
34
|
+
args[argument.name] = parseInt(element);
|
|
35
|
+
if (argument.type === 'boolean')
|
|
36
|
+
args[argument.name] = element === 'true' ? true : false;
|
|
37
|
+
if (argument.type === 'confirm')
|
|
38
|
+
args[argument.name] = element === 'yes' ? 'yes' : 'no';
|
|
39
|
+
if (argument.type === 'string')
|
|
40
|
+
args[argument.name] = element;
|
|
41
|
+
if (argument.type === 'channel') {
|
|
42
|
+
try {
|
|
43
|
+
const channel = await message.client.channels.fetch(element);
|
|
44
|
+
args[argument.name] = channel;
|
|
45
|
+
}
|
|
46
|
+
catch (e) {
|
|
47
|
+
args[argument.name] = null;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
if (argument.type === 'guild') {
|
|
51
|
+
try {
|
|
52
|
+
const guild = await message.client.guilds.fetch(element);
|
|
53
|
+
args[argument.name] = guild;
|
|
54
|
+
}
|
|
55
|
+
catch (e) {
|
|
56
|
+
args[argument.name] = null;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
if (argument.type === 'mentionable') {
|
|
60
|
+
(await Promise.all([message.guild?.roles, message.client.users, message.client.guilds, message.client.channels, message.guild?.members, message.channel.messages].map((req) => req
|
|
61
|
+
? req
|
|
62
|
+
.fetch(element)
|
|
63
|
+
.then((r) => r)
|
|
64
|
+
.catch(() => null)
|
|
65
|
+
: null))).map((mentionable) => {
|
|
66
|
+
if (!args)
|
|
67
|
+
args = {};
|
|
68
|
+
if (mentionable)
|
|
69
|
+
return (args[argument.name] = mentionable);
|
|
70
|
+
else
|
|
71
|
+
return (args[argument.name] = null);
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
if (argument.type === 'role') {
|
|
75
|
+
try {
|
|
76
|
+
const role = await message.guild?.roles.fetch(element);
|
|
77
|
+
args[argument.name] = role;
|
|
78
|
+
}
|
|
79
|
+
catch (e) {
|
|
80
|
+
args[argument.name] = null;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
if (argument.type === 'user') {
|
|
84
|
+
try {
|
|
85
|
+
const user = await message.client.users.fetch(element);
|
|
86
|
+
args[argument.name] = user;
|
|
87
|
+
}
|
|
88
|
+
catch (e) {
|
|
89
|
+
args[argument.name] = null;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
if (argument.type === 'member') {
|
|
93
|
+
try {
|
|
94
|
+
const member = await message.guild?.members.fetch(element);
|
|
95
|
+
args[argument.name] = member;
|
|
96
|
+
}
|
|
97
|
+
catch (e) {
|
|
98
|
+
args[argument.name] = null;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
if (argument.type === 'message') {
|
|
102
|
+
try {
|
|
103
|
+
const msg = await message.channel?.messages.fetch(element);
|
|
104
|
+
args[argument.name] = msg;
|
|
105
|
+
}
|
|
106
|
+
catch (e) {
|
|
107
|
+
args[argument.name] = null;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
if (argument.type === 'list') {
|
|
111
|
+
let separator = String(argument.separator) || ',';
|
|
112
|
+
if (separator.startsWith('/') && separator.endsWith('/'))
|
|
113
|
+
separator = separator.replace(/^\/|\/$/gim, '');
|
|
114
|
+
const items = content.join(' ').split(new RegExp(' *' + separator + ' *', 'gi'));
|
|
115
|
+
if (!argument.content)
|
|
116
|
+
args[argument.name] = items;
|
|
117
|
+
else {
|
|
118
|
+
const contents = argument.content.map((content) => content.toLowerCase()), itemList = [];
|
|
119
|
+
items.map((item) => (contents.includes(item.toLowerCase()) ? itemList.push(argument.content?.at(contents.indexOf(item.toLowerCase()))) : null));
|
|
120
|
+
args[argument.name] = itemList;
|
|
121
|
+
break;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
if (argument.type === 'rest') {
|
|
125
|
+
args[argument.name] = content.join(separator);
|
|
126
|
+
break;
|
|
127
|
+
}
|
|
128
|
+
content.splice(0, 1);
|
|
129
|
+
}
|
|
130
|
+
if (!command.flags)
|
|
131
|
+
flags = null;
|
|
132
|
+
if (!command.args)
|
|
133
|
+
args = null;
|
|
134
|
+
return { args, flags };
|
|
120
135
|
}
|
|
121
136
|
export async function interactionArguments(interaction, command) {
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
137
|
+
if (command.filetype === 'SlashCommand') {
|
|
138
|
+
const options = {};
|
|
139
|
+
let args = interaction?.options?._hoistedOptions, group = interaction?.options?._group, subcommand = interaction?.options?._subcommand;
|
|
140
|
+
if (interaction.options._hoistedOptions) {
|
|
141
|
+
for (const option of interaction.options._hoistedOptions) {
|
|
142
|
+
options[option.name] = option.member || option.channel || option.user || option.role || option.value;
|
|
143
|
+
}
|
|
144
|
+
args = options;
|
|
145
|
+
}
|
|
146
|
+
return { args, group, subcommand };
|
|
147
|
+
}
|
|
148
|
+
if (command.filetype === 'ContextCommand') {
|
|
149
|
+
if (command.type === 'user')
|
|
150
|
+
return await interaction.client.users.fetch(interaction.targetId);
|
|
151
|
+
if (command.type === 'message')
|
|
152
|
+
return await interaction.channel.messages.fetch(interaction.targetId);
|
|
153
|
+
}
|
|
139
154
|
}
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
import { Collection } from 'discord.js';
|
|
3
3
|
import XernerxClient from '../client/XernerxClient.js';
|
|
4
4
|
export default class Cooldowns {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
private readonly _client;
|
|
6
|
+
readonly collections: Record<string, Collection<string, unknown>>;
|
|
7
|
+
constructor(client: XernerxClient, collections?: Array<string>);
|
|
8
|
+
add(collection: keyof typeof this.collections, id: string, value: unknown): string | Collection<string, unknown>;
|
|
9
|
+
delete(collection: keyof typeof this.collections, id: string): string | boolean;
|
|
10
|
+
has(id: string): Record<string, Collection<string, unknown>>;
|
|
11
11
|
}
|
package/dist/models/Cooldowns.js
CHANGED
|
@@ -1,29 +1,33 @@
|
|
|
1
1
|
/** @format */
|
|
2
2
|
import { Collection } from 'discord.js';
|
|
3
3
|
export default class Cooldowns {
|
|
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
|
-
|
|
4
|
+
constructor(client, collections = []) {
|
|
5
|
+
this._client = client;
|
|
6
|
+
this.collections = {
|
|
7
|
+
commands: new Collection(),
|
|
8
|
+
};
|
|
9
|
+
for (const collection of collections) {
|
|
10
|
+
this.collections[collection] = new Collection();
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
add(collection, id, value) {
|
|
14
|
+
if (!this.collections[collection])
|
|
15
|
+
return `${collection} collection does not exist!`;
|
|
16
|
+
return this.collections[collection].set(id, value);
|
|
17
|
+
}
|
|
18
|
+
delete(collection, id) {
|
|
19
|
+
if (!this.collections[collection])
|
|
20
|
+
return `${collection} collection does not exist!`;
|
|
21
|
+
return this.collections[collection].delete(id);
|
|
22
|
+
}
|
|
23
|
+
has(id) {
|
|
24
|
+
const collected = {};
|
|
25
|
+
for (const [name, collection] of Object.entries(this.collections)) {
|
|
26
|
+
if (collection.has(id))
|
|
27
|
+
collected[name] = collection;
|
|
28
|
+
else
|
|
29
|
+
continue;
|
|
30
|
+
}
|
|
31
|
+
return collected;
|
|
32
|
+
}
|
|
29
33
|
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/** @format */
|
|
2
|
+
import { XernerxClient } from '../main.js';
|
|
3
|
+
import XernerxError from '../tools/XernerxError.js';
|
|
4
|
+
export default class XernerxEntitlement {
|
|
5
|
+
readonly id: string;
|
|
6
|
+
readonly skuId: string;
|
|
7
|
+
readonly clientId: string;
|
|
8
|
+
readonly userId: string;
|
|
9
|
+
readonly promotionId: string;
|
|
10
|
+
readonly dependentId: string;
|
|
11
|
+
readonly deleted: boolean;
|
|
12
|
+
readonly consumed: boolean;
|
|
13
|
+
readonly startsAt: Date;
|
|
14
|
+
readonly endsAt: Date;
|
|
15
|
+
readonly item: {
|
|
16
|
+
type: string;
|
|
17
|
+
flags: number;
|
|
18
|
+
};
|
|
19
|
+
readonly sku: {
|
|
20
|
+
type: string;
|
|
21
|
+
flags: string;
|
|
22
|
+
productLine: number;
|
|
23
|
+
manifestLabels: any;
|
|
24
|
+
};
|
|
25
|
+
readonly details: {
|
|
26
|
+
slug: string;
|
|
27
|
+
name: string;
|
|
28
|
+
description: string;
|
|
29
|
+
features: Array<any>;
|
|
30
|
+
cost: number;
|
|
31
|
+
currency: string;
|
|
32
|
+
currencyExponent: number;
|
|
33
|
+
releaseDate: Date;
|
|
34
|
+
accessType: number;
|
|
35
|
+
premium: boolean;
|
|
36
|
+
nsfw: boolean;
|
|
37
|
+
};
|
|
38
|
+
private readonly client;
|
|
39
|
+
constructor(client: XernerxClient, sku: any, item: any);
|
|
40
|
+
consume(): Promise<XernerxError | {
|
|
41
|
+
message: string;
|
|
42
|
+
code: number;
|
|
43
|
+
entitlement: XernerxEntitlement;
|
|
44
|
+
}>;
|
|
45
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/** @format */
|
|
2
|
+
import { EntitlementType, SKUFlags, SKUType } from 'discord.js';
|
|
3
|
+
import XernerxError from '../tools/XernerxError.js';
|
|
4
|
+
export default class XernerxEntitlement {
|
|
5
|
+
constructor(client, sku, item) {
|
|
6
|
+
this.id = item.id;
|
|
7
|
+
this.skuId = item.sku_id;
|
|
8
|
+
this.clientId = item.application_id;
|
|
9
|
+
this.userId = item.user_id;
|
|
10
|
+
this.promotionId = item.promotion_id;
|
|
11
|
+
this.dependentId = sku.dependent_sku_id;
|
|
12
|
+
this.deleted = item.deleted;
|
|
13
|
+
this.consumed = item.consumed;
|
|
14
|
+
this.startsAt = item.starts_at;
|
|
15
|
+
this.endsAt = item.ends_at;
|
|
16
|
+
this.item = {
|
|
17
|
+
type: EntitlementType[item.type],
|
|
18
|
+
flags: item.gift_code_flags,
|
|
19
|
+
};
|
|
20
|
+
this.sku = {
|
|
21
|
+
type: SKUType[sku.type],
|
|
22
|
+
flags: SKUFlags[sku.flags],
|
|
23
|
+
productLine: sku.product_line,
|
|
24
|
+
manifestLabels: sku.manifest_labels,
|
|
25
|
+
};
|
|
26
|
+
this.details = {
|
|
27
|
+
slug: sku.slug,
|
|
28
|
+
name: sku.name,
|
|
29
|
+
description: sku.description,
|
|
30
|
+
features: sku.features,
|
|
31
|
+
cost: sku.price?.amount,
|
|
32
|
+
currency: sku.price?.currency,
|
|
33
|
+
currencyExponent: sku.price?.currency_exponent,
|
|
34
|
+
releaseDate: sku.release_date,
|
|
35
|
+
accessType: sku.access_type,
|
|
36
|
+
premium: sku.premium,
|
|
37
|
+
nsfw: sku.show_age_gate,
|
|
38
|
+
};
|
|
39
|
+
this.client = client;
|
|
40
|
+
}
|
|
41
|
+
async consume() {
|
|
42
|
+
if (this.consumed)
|
|
43
|
+
return new XernerxError('This entitlement has already been consumed.');
|
|
44
|
+
const request = await fetch(`https://discord.com/api/v10/applications/${this.clientId}/entitlements/${this.id}/consume`, {
|
|
45
|
+
method: 'POST',
|
|
46
|
+
headers: {
|
|
47
|
+
'Authorization': `Bot ${this.client.token}`,
|
|
48
|
+
'Content-Type': 'application/json',
|
|
49
|
+
},
|
|
50
|
+
});
|
|
51
|
+
if (request.ok) {
|
|
52
|
+
this.client.emit('skuConsumed', this.client, this);
|
|
53
|
+
return { message: 'Entitlement consumed successfully.', code: 200, entitlement: this };
|
|
54
|
+
}
|
|
55
|
+
return (await request.json().then((error) => ({ ...error, entitlement: this })));
|
|
56
|
+
}
|
|
57
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/** @format */
|
|
2
|
+
import { User } from 'discord.js';
|
|
3
|
+
import { Client } from 'discord.js';
|
|
4
|
+
import { XernerxClient } from '../main.js';
|
|
5
|
+
import XernerxEntitlement from './XernerxEntitlement.js';
|
|
6
|
+
export default class XernerxUser extends User {
|
|
7
|
+
readonly owner: boolean;
|
|
8
|
+
readonly premium: {
|
|
9
|
+
items: Array<XernerxEntitlement>;
|
|
10
|
+
archive: Array<XernerxEntitlement>;
|
|
11
|
+
tier: XernerxEntitlement | null;
|
|
12
|
+
};
|
|
13
|
+
constructor(client: XernerxClient & Client<true>, data: any);
|
|
14
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/** @format */
|
|
2
|
+
import { User } from 'discord.js';
|
|
3
|
+
export default class XernerxUser extends User {
|
|
4
|
+
constructor(client, data) {
|
|
5
|
+
super(client, data);
|
|
6
|
+
this.owner = client.settings.ownerId.includes(this.id);
|
|
7
|
+
this.premium = {
|
|
8
|
+
tier: client.store.items.find((item) => item.userId == this.id && item.sku.type == 'Subscription') || null,
|
|
9
|
+
items: client.store.items.filter((item) => item.userId == this.id),
|
|
10
|
+
archive: client.store.archive.filter((item) => item.userId == this.id),
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/** @format */
|
|
2
2
|
export default class XernerxError {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
name: string;
|
|
4
|
+
message: string | null;
|
|
5
|
+
stack: {} | undefined;
|
|
6
|
+
constructor(message?: string, error?: Error | unknown);
|
|
7
7
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/** @format */
|
|
2
2
|
export default class XernerxError {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
3
|
+
name;
|
|
4
|
+
message;
|
|
5
|
+
stack;
|
|
6
|
+
constructor(message, error) {
|
|
7
|
+
this.name = 'XernerxError';
|
|
8
|
+
this.message = message || null;
|
|
9
|
+
this.stack = error || new Error().stack;
|
|
10
|
+
}
|
|
11
11
|
}
|
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
/** @format */
|
|
2
2
|
import { GatewayIntentBits } from 'discord.js';
|
|
3
3
|
export const XernerxIntents = {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
4
|
+
Default: [
|
|
5
|
+
GatewayIntentBits.Guilds,
|
|
6
|
+
GatewayIntentBits.GuildModeration,
|
|
7
|
+
GatewayIntentBits.GuildBans,
|
|
8
|
+
GatewayIntentBits.GuildModeration,
|
|
9
|
+
GatewayIntentBits.GuildEmojisAndStickers,
|
|
10
|
+
GatewayIntentBits.GuildIntegrations,
|
|
11
|
+
GatewayIntentBits.GuildWebhooks,
|
|
12
|
+
GatewayIntentBits.GuildInvites,
|
|
13
|
+
GatewayIntentBits.GuildVoiceStates,
|
|
14
|
+
GatewayIntentBits.GuildMessages,
|
|
15
|
+
GatewayIntentBits.GuildMessageReactions,
|
|
16
|
+
GatewayIntentBits.GuildMessageTyping,
|
|
17
|
+
GatewayIntentBits.DirectMessages,
|
|
18
|
+
GatewayIntentBits.DirectMessageReactions,
|
|
19
|
+
GatewayIntentBits.DirectMessageTyping,
|
|
20
|
+
GatewayIntentBits.GuildScheduledEvents,
|
|
21
|
+
GatewayIntentBits.AutoModerationConfiguration,
|
|
22
|
+
GatewayIntentBits.AutoModerationExecution,
|
|
23
|
+
],
|
|
24
|
+
All: [GatewayIntentBits.GuildMembers, GatewayIntentBits.GuildPresences, GatewayIntentBits.MessageContent],
|
|
25
25
|
};
|
|
26
26
|
XernerxIntents.All.push(...XernerxIntents.Default);
|