@jubbio/core 1.3.2 → 1.3.4
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/Client.js +50 -10
- package/dist/rest/REST.d.ts +1 -0
- package/dist/rest/REST.js +1 -1
- package/dist/structures/Channel.d.ts +1 -1
- package/dist/structures/Channel.js +11 -4
- package/dist/structures/Guild.d.ts +1 -1
- package/dist/structures/Guild.js +7 -3
- package/dist/structures/Message.d.ts +2 -0
- package/dist/structures/Message.js +13 -33
- package/package.json +4 -14
- package/dist/cjs/Client.d.ts +0 -157
- package/dist/cjs/Client.js +0 -640
- package/dist/cjs/builders/ActionRowBuilder.d.ts +0 -53
- package/dist/cjs/builders/ActionRowBuilder.js +0 -68
- package/dist/cjs/builders/ButtonBuilder.d.ts +0 -77
- package/dist/cjs/builders/ButtonBuilder.js +0 -96
- package/dist/cjs/builders/EmbedBuilder.d.ts +0 -157
- package/dist/cjs/builders/EmbedBuilder.js +0 -208
- package/dist/cjs/builders/ModalBuilder.d.ts +0 -122
- package/dist/cjs/builders/ModalBuilder.js +0 -162
- package/dist/cjs/builders/SelectMenuBuilder.d.ts +0 -123
- package/dist/cjs/builders/SelectMenuBuilder.js +0 -165
- package/dist/cjs/builders/SlashCommandBuilder.d.ts +0 -197
- package/dist/cjs/builders/SlashCommandBuilder.js +0 -324
- package/dist/cjs/builders/index.d.ts +0 -9
- package/dist/cjs/builders/index.js +0 -26
- package/dist/cjs/enums.d.ts +0 -191
- package/dist/cjs/enums.js +0 -211
- package/dist/cjs/index.d.ts +0 -25
- package/dist/cjs/index.js +0 -130
- package/dist/cjs/managers/BaseManager.d.ts +0 -69
- package/dist/cjs/managers/BaseManager.js +0 -106
- package/dist/cjs/managers/ChannelManager.d.ts +0 -95
- package/dist/cjs/managers/ChannelManager.js +0 -205
- package/dist/cjs/managers/GuildMemberManager.d.ts +0 -74
- package/dist/cjs/managers/GuildMemberManager.js +0 -157
- package/dist/cjs/managers/RoleManager.d.ts +0 -84
- package/dist/cjs/managers/RoleManager.js +0 -207
- package/dist/cjs/managers/index.d.ts +0 -7
- package/dist/cjs/managers/index.js +0 -24
- package/dist/cjs/rest/REST.d.ts +0 -527
- package/dist/cjs/rest/REST.js +0 -904
- package/dist/cjs/rest/index.d.ts +0 -1
- package/dist/cjs/rest/index.js +0 -18
- package/dist/cjs/sharding/ShardingManager.d.ts +0 -179
- package/dist/cjs/sharding/ShardingManager.js +0 -375
- package/dist/cjs/sharding/index.d.ts +0 -4
- package/dist/cjs/sharding/index.js +0 -21
- package/dist/cjs/structures/Channel.d.ts +0 -122
- package/dist/cjs/structures/Channel.js +0 -240
- package/dist/cjs/structures/Collection.d.ts +0 -53
- package/dist/cjs/structures/Collection.js +0 -115
- package/dist/cjs/structures/Guild.d.ts +0 -59
- package/dist/cjs/structures/Guild.js +0 -94
- package/dist/cjs/structures/GuildMember.d.ts +0 -174
- package/dist/cjs/structures/GuildMember.js +0 -311
- package/dist/cjs/structures/Interaction.d.ts +0 -245
- package/dist/cjs/structures/Interaction.js +0 -450
- package/dist/cjs/structures/Message.d.ts +0 -98
- package/dist/cjs/structures/Message.js +0 -195
- package/dist/cjs/structures/User.d.ts +0 -37
- package/dist/cjs/structures/User.js +0 -65
- package/dist/cjs/structures/index.d.ts +0 -7
- package/dist/cjs/structures/index.js +0 -25
- package/dist/cjs/structures.d.ts +0 -1
- package/dist/cjs/structures.js +0 -19
- package/dist/cjs/types.d.ts +0 -255
- package/dist/cjs/types.js +0 -3
- package/dist/cjs/utils/BitField.d.ts +0 -66
- package/dist/cjs/utils/BitField.js +0 -138
- package/dist/cjs/utils/Collection.d.ts +0 -116
- package/dist/cjs/utils/Collection.js +0 -265
- package/dist/cjs/utils/Collector.d.ts +0 -152
- package/dist/cjs/utils/Collector.js +0 -314
- package/dist/cjs/utils/DataResolver.d.ts +0 -61
- package/dist/cjs/utils/DataResolver.js +0 -146
- package/dist/cjs/utils/Formatters.d.ts +0 -145
- package/dist/cjs/utils/Formatters.js +0 -213
- package/dist/cjs/utils/IntentsBitField.d.ts +0 -85
- package/dist/cjs/utils/IntentsBitField.js +0 -99
- package/dist/cjs/utils/Partials.d.ts +0 -104
- package/dist/cjs/utils/Partials.js +0 -148
- package/dist/cjs/utils/PermissionsBitField.d.ts +0 -118
- package/dist/cjs/utils/PermissionsBitField.js +0 -145
- package/dist/cjs/utils/SnowflakeUtil.d.ts +0 -63
- package/dist/cjs/utils/SnowflakeUtil.js +0 -93
- package/dist/cjs/utils/Sweepers.d.ts +0 -119
- package/dist/cjs/utils/Sweepers.js +0 -249
- package/dist/cjs/utils/index.d.ts +0 -13
- package/dist/cjs/utils/index.js +0 -30
- package/dist/esm/Client.js +0 -634
- package/dist/esm/builders/ActionRowBuilder.js +0 -64
- package/dist/esm/builders/ButtonBuilder.js +0 -92
- package/dist/esm/builders/EmbedBuilder.js +0 -204
- package/dist/esm/builders/ModalBuilder.js +0 -157
- package/dist/esm/builders/SelectMenuBuilder.js +0 -161
- package/dist/esm/builders/SlashCommandBuilder.js +0 -311
- package/dist/esm/builders/index.js +0 -10
- package/dist/esm/enums.js +0 -208
- package/dist/esm/index.js +0 -34
- package/dist/esm/managers/BaseManager.js +0 -100
- package/dist/esm/managers/ChannelManager.js +0 -200
- package/dist/esm/managers/GuildMemberManager.js +0 -153
- package/dist/esm/managers/RoleManager.js +0 -203
- package/dist/esm/managers/index.js +0 -8
- package/dist/esm/rest/REST.js +0 -900
- package/dist/esm/rest/index.js +0 -2
- package/dist/esm/sharding/ShardingManager.js +0 -366
- package/dist/esm/sharding/index.js +0 -5
- package/dist/esm/structures/Channel.js +0 -232
- package/dist/esm/structures/Collection.js +0 -111
- package/dist/esm/structures/Guild.js +0 -90
- package/dist/esm/structures/GuildMember.js +0 -306
- package/dist/esm/structures/Interaction.js +0 -438
- package/dist/esm/structures/Message.js +0 -191
- package/dist/esm/structures/User.js +0 -61
- package/dist/esm/structures/index.js +0 -9
- package/dist/esm/structures.js +0 -3
- package/dist/esm/types.js +0 -2
- package/dist/esm/utils/BitField.js +0 -134
- package/dist/esm/utils/Collection.js +0 -261
- package/dist/esm/utils/Collector.js +0 -305
- package/dist/esm/utils/DataResolver.js +0 -142
- package/dist/esm/utils/Formatters.js +0 -191
- package/dist/esm/utils/IntentsBitField.js +0 -93
- package/dist/esm/utils/Partials.js +0 -137
- package/dist/esm/utils/PermissionsBitField.js +0 -141
- package/dist/esm/utils/SnowflakeUtil.js +0 -89
- package/dist/esm/utils/Sweepers.js +0 -245
- package/dist/esm/utils/index.js +0 -14
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Manager for channels with caching and lazy loading
|
|
3
|
-
*/
|
|
4
|
-
import { CachedManager } from './BaseManager';
|
|
5
|
-
import { Collection } from '../utils/Collection';
|
|
6
|
-
/** Channel types */
|
|
7
|
-
export declare enum ChannelType {
|
|
8
|
-
GuildText = 0,
|
|
9
|
-
DM = 1,
|
|
10
|
-
GuildVoice = 2,
|
|
11
|
-
GroupDM = 3,
|
|
12
|
-
GuildCategory = 4,
|
|
13
|
-
GuildAnnouncement = 5,
|
|
14
|
-
GuildStageVoice = 13,
|
|
15
|
-
GuildDirectory = 14,
|
|
16
|
-
GuildForum = 15
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Manages channels for a guild
|
|
20
|
-
*/
|
|
21
|
-
export declare class GuildChannelManager extends CachedManager<string, any> {
|
|
22
|
-
/** The guild this manager belongs to */
|
|
23
|
-
readonly guild: any;
|
|
24
|
-
constructor(guild: any, iterable?: Iterable<any>);
|
|
25
|
-
/**
|
|
26
|
-
* Add a channel to the cache
|
|
27
|
-
*/
|
|
28
|
-
_add(data: any, cache?: boolean): any;
|
|
29
|
-
/**
|
|
30
|
-
* Fetch a channel from the API
|
|
31
|
-
*/
|
|
32
|
-
fetch(id: string, options?: {
|
|
33
|
-
cache?: boolean;
|
|
34
|
-
force?: boolean;
|
|
35
|
-
}): Promise<any>;
|
|
36
|
-
/**
|
|
37
|
-
* Fetch all channels for the guild
|
|
38
|
-
*/
|
|
39
|
-
fetchAll(): Promise<Collection<string, any>>;
|
|
40
|
-
/**
|
|
41
|
-
* Create a new channel
|
|
42
|
-
*/
|
|
43
|
-
create(options: {
|
|
44
|
-
name: string;
|
|
45
|
-
type?: ChannelType;
|
|
46
|
-
topic?: string;
|
|
47
|
-
bitrate?: number;
|
|
48
|
-
userLimit?: number;
|
|
49
|
-
rateLimitPerUser?: number;
|
|
50
|
-
position?: number;
|
|
51
|
-
permissionOverwrites?: any[];
|
|
52
|
-
parent?: string;
|
|
53
|
-
nsfw?: boolean;
|
|
54
|
-
reason?: string;
|
|
55
|
-
}): Promise<any>;
|
|
56
|
-
/**
|
|
57
|
-
* Delete a channel
|
|
58
|
-
*/
|
|
59
|
-
delete(id: string, reason?: string): Promise<void>;
|
|
60
|
-
/**
|
|
61
|
-
* Edit a channel
|
|
62
|
-
*/
|
|
63
|
-
edit(id: string, data: {
|
|
64
|
-
name?: string;
|
|
65
|
-
type?: ChannelType;
|
|
66
|
-
position?: number;
|
|
67
|
-
topic?: string;
|
|
68
|
-
nsfw?: boolean;
|
|
69
|
-
rateLimitPerUser?: number;
|
|
70
|
-
bitrate?: number;
|
|
71
|
-
userLimit?: number;
|
|
72
|
-
permissionOverwrites?: any[];
|
|
73
|
-
parent?: string | null;
|
|
74
|
-
}): Promise<any>;
|
|
75
|
-
/**
|
|
76
|
-
* Set channel positions
|
|
77
|
-
*/
|
|
78
|
-
setPositions(positions: Array<{
|
|
79
|
-
channel: string;
|
|
80
|
-
position: number;
|
|
81
|
-
parent?: string | null;
|
|
82
|
-
}>): Promise<void>;
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* Global channel manager for the client
|
|
86
|
-
*/
|
|
87
|
-
export declare class ChannelManager extends CachedManager<string, any> {
|
|
88
|
-
constructor(client: any, iterable?: Iterable<any>);
|
|
89
|
-
_add(data: any, cache?: boolean): any;
|
|
90
|
-
fetch(id: string, options?: {
|
|
91
|
-
cache?: boolean;
|
|
92
|
-
force?: boolean;
|
|
93
|
-
}): Promise<any>;
|
|
94
|
-
}
|
|
95
|
-
export default GuildChannelManager;
|
|
@@ -1,205 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Manager for channels with caching and lazy loading
|
|
4
|
-
*/
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.ChannelManager = exports.GuildChannelManager = exports.ChannelType = void 0;
|
|
7
|
-
const BaseManager_1 = require("./BaseManager");
|
|
8
|
-
const Collection_1 = require("../utils/Collection");
|
|
9
|
-
/** Channel types */
|
|
10
|
-
var ChannelType;
|
|
11
|
-
(function (ChannelType) {
|
|
12
|
-
ChannelType[ChannelType["GuildText"] = 0] = "GuildText";
|
|
13
|
-
ChannelType[ChannelType["DM"] = 1] = "DM";
|
|
14
|
-
ChannelType[ChannelType["GuildVoice"] = 2] = "GuildVoice";
|
|
15
|
-
ChannelType[ChannelType["GroupDM"] = 3] = "GroupDM";
|
|
16
|
-
ChannelType[ChannelType["GuildCategory"] = 4] = "GuildCategory";
|
|
17
|
-
ChannelType[ChannelType["GuildAnnouncement"] = 5] = "GuildAnnouncement";
|
|
18
|
-
ChannelType[ChannelType["GuildStageVoice"] = 13] = "GuildStageVoice";
|
|
19
|
-
ChannelType[ChannelType["GuildDirectory"] = 14] = "GuildDirectory";
|
|
20
|
-
ChannelType[ChannelType["GuildForum"] = 15] = "GuildForum";
|
|
21
|
-
})(ChannelType || (exports.ChannelType = ChannelType = {}));
|
|
22
|
-
/**
|
|
23
|
-
* Manages channels for a guild
|
|
24
|
-
*/
|
|
25
|
-
class GuildChannelManager extends BaseManager_1.CachedManager {
|
|
26
|
-
/** The guild this manager belongs to */
|
|
27
|
-
guild;
|
|
28
|
-
constructor(guild, iterable) {
|
|
29
|
-
super(guild.client, Object, iterable);
|
|
30
|
-
this.guild = guild;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Add a channel to the cache
|
|
34
|
-
*/
|
|
35
|
-
_add(data, cache = true) {
|
|
36
|
-
const id = data.id;
|
|
37
|
-
const existing = this.cache.get(id);
|
|
38
|
-
if (existing) {
|
|
39
|
-
if (cache)
|
|
40
|
-
Object.assign(existing, data);
|
|
41
|
-
return existing;
|
|
42
|
-
}
|
|
43
|
-
const channel = {
|
|
44
|
-
id,
|
|
45
|
-
guildId: this.guild.id,
|
|
46
|
-
name: data.name,
|
|
47
|
-
type: data.type,
|
|
48
|
-
position: data.position ?? 0,
|
|
49
|
-
parentId: data.parent_id ?? null,
|
|
50
|
-
permissionOverwrites: data.permission_overwrites ?? [],
|
|
51
|
-
topic: data.topic ?? null,
|
|
52
|
-
nsfw: data.nsfw ?? false,
|
|
53
|
-
rateLimitPerUser: data.rate_limit_per_user ?? 0,
|
|
54
|
-
bitrate: data.bitrate,
|
|
55
|
-
userLimit: data.user_limit,
|
|
56
|
-
get isText() { return [ChannelType.GuildText, ChannelType.GuildAnnouncement].includes(this.type); },
|
|
57
|
-
get isVoice() { return [ChannelType.GuildVoice, ChannelType.GuildStageVoice].includes(this.type); },
|
|
58
|
-
get isCategory() { return this.type === ChannelType.GuildCategory; },
|
|
59
|
-
toString() { return `<#${this.id}>`; },
|
|
60
|
-
async send(content) {
|
|
61
|
-
return this.guild.client.rest.request('POST', `/channels/${this.id}/messages`, typeof content === 'string' ? { content } : content);
|
|
62
|
-
},
|
|
63
|
-
async delete(reason) {
|
|
64
|
-
return this.guild.client.rest.request('DELETE', `/channels/${this.id}`, reason ? { reason } : undefined);
|
|
65
|
-
},
|
|
66
|
-
async edit(data) {
|
|
67
|
-
return this.guild.client.rest.request('PATCH', `/channels/${this.id}`, data);
|
|
68
|
-
},
|
|
69
|
-
};
|
|
70
|
-
if (cache)
|
|
71
|
-
this.cache.set(id, channel);
|
|
72
|
-
return channel;
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Fetch a channel from the API
|
|
76
|
-
*/
|
|
77
|
-
async fetch(id, options) {
|
|
78
|
-
if (!options?.force) {
|
|
79
|
-
const existing = this.cache.get(id);
|
|
80
|
-
if (existing)
|
|
81
|
-
return existing;
|
|
82
|
-
}
|
|
83
|
-
const data = await this.client.rest.request('GET', `/channels/${id}`);
|
|
84
|
-
return this._add(data, options?.cache ?? true);
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* Fetch all channels for the guild
|
|
88
|
-
*/
|
|
89
|
-
async fetchAll() {
|
|
90
|
-
const data = await this.client.rest.request('GET', `/guilds/${this.guild.id}/channels`);
|
|
91
|
-
const channels = new Collection_1.Collection();
|
|
92
|
-
for (const channelData of data) {
|
|
93
|
-
const channel = this._add(channelData);
|
|
94
|
-
channels.set(channel.id, channel);
|
|
95
|
-
}
|
|
96
|
-
return channels;
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* Create a new channel
|
|
100
|
-
*/
|
|
101
|
-
async create(options) {
|
|
102
|
-
const body = {
|
|
103
|
-
name: options.name,
|
|
104
|
-
type: options.type ?? ChannelType.GuildText,
|
|
105
|
-
};
|
|
106
|
-
if (options.topic)
|
|
107
|
-
body.topic = options.topic;
|
|
108
|
-
if (options.bitrate)
|
|
109
|
-
body.bitrate = options.bitrate;
|
|
110
|
-
if (options.userLimit)
|
|
111
|
-
body.user_limit = options.userLimit;
|
|
112
|
-
if (options.rateLimitPerUser)
|
|
113
|
-
body.rate_limit_per_user = options.rateLimitPerUser;
|
|
114
|
-
if (options.position !== undefined)
|
|
115
|
-
body.position = options.position;
|
|
116
|
-
if (options.permissionOverwrites)
|
|
117
|
-
body.permission_overwrites = options.permissionOverwrites;
|
|
118
|
-
if (options.parent)
|
|
119
|
-
body.parent_id = options.parent;
|
|
120
|
-
if (options.nsfw !== undefined)
|
|
121
|
-
body.nsfw = options.nsfw;
|
|
122
|
-
const data = await this.client.rest.request('POST', `/guilds/${this.guild.id}/channels`, body);
|
|
123
|
-
return this._add(data);
|
|
124
|
-
}
|
|
125
|
-
/**
|
|
126
|
-
* Delete a channel
|
|
127
|
-
*/
|
|
128
|
-
async delete(id, reason) {
|
|
129
|
-
await this.client.rest.request('DELETE', `/channels/${id}`, reason ? { reason } : undefined);
|
|
130
|
-
this.cache.delete(id);
|
|
131
|
-
}
|
|
132
|
-
/**
|
|
133
|
-
* Edit a channel
|
|
134
|
-
*/
|
|
135
|
-
async edit(id, data) {
|
|
136
|
-
const body = {};
|
|
137
|
-
if (data.name)
|
|
138
|
-
body.name = data.name;
|
|
139
|
-
if (data.type !== undefined)
|
|
140
|
-
body.type = data.type;
|
|
141
|
-
if (data.position !== undefined)
|
|
142
|
-
body.position = data.position;
|
|
143
|
-
if (data.topic !== undefined)
|
|
144
|
-
body.topic = data.topic;
|
|
145
|
-
if (data.nsfw !== undefined)
|
|
146
|
-
body.nsfw = data.nsfw;
|
|
147
|
-
if (data.rateLimitPerUser !== undefined)
|
|
148
|
-
body.rate_limit_per_user = data.rateLimitPerUser;
|
|
149
|
-
if (data.bitrate !== undefined)
|
|
150
|
-
body.bitrate = data.bitrate;
|
|
151
|
-
if (data.userLimit !== undefined)
|
|
152
|
-
body.user_limit = data.userLimit;
|
|
153
|
-
if (data.permissionOverwrites)
|
|
154
|
-
body.permission_overwrites = data.permissionOverwrites;
|
|
155
|
-
if (data.parent !== undefined)
|
|
156
|
-
body.parent_id = data.parent;
|
|
157
|
-
const result = await this.client.rest.request('PATCH', `/channels/${id}`, body);
|
|
158
|
-
return this._add(result);
|
|
159
|
-
}
|
|
160
|
-
/**
|
|
161
|
-
* Set channel positions
|
|
162
|
-
*/
|
|
163
|
-
async setPositions(positions) {
|
|
164
|
-
const body = positions.map(p => ({
|
|
165
|
-
id: p.channel,
|
|
166
|
-
position: p.position,
|
|
167
|
-
parent_id: p.parent,
|
|
168
|
-
}));
|
|
169
|
-
await this.client.rest.request('PATCH', `/guilds/${this.guild.id}/channels`, body);
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
exports.GuildChannelManager = GuildChannelManager;
|
|
173
|
-
/**
|
|
174
|
-
* Global channel manager for the client
|
|
175
|
-
*/
|
|
176
|
-
class ChannelManager extends BaseManager_1.CachedManager {
|
|
177
|
-
constructor(client, iterable) {
|
|
178
|
-
super(client, Object, iterable);
|
|
179
|
-
}
|
|
180
|
-
_add(data, cache = true) {
|
|
181
|
-
const id = data.id;
|
|
182
|
-
const existing = this.cache.get(id);
|
|
183
|
-
if (existing) {
|
|
184
|
-
if (cache)
|
|
185
|
-
Object.assign(existing, data);
|
|
186
|
-
return existing;
|
|
187
|
-
}
|
|
188
|
-
const channel = { ...data, id };
|
|
189
|
-
if (cache)
|
|
190
|
-
this.cache.set(id, channel);
|
|
191
|
-
return channel;
|
|
192
|
-
}
|
|
193
|
-
async fetch(id, options) {
|
|
194
|
-
if (!options?.force) {
|
|
195
|
-
const existing = this.cache.get(id);
|
|
196
|
-
if (existing)
|
|
197
|
-
return existing;
|
|
198
|
-
}
|
|
199
|
-
const data = await this.client.rest.request('GET', `/channels/${id}`);
|
|
200
|
-
return this._add(data, options?.cache ?? true);
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
exports.ChannelManager = ChannelManager;
|
|
204
|
-
exports.default = GuildChannelManager;
|
|
205
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2hhbm5lbE1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbWFuYWdlcnMvQ2hhbm5lbE1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOztHQUVHOzs7QUFFSCwrQ0FBOEM7QUFDOUMsb0RBQWlEO0FBRWpELG9CQUFvQjtBQUNwQixJQUFZLFdBVVg7QUFWRCxXQUFZLFdBQVc7SUFDckIsdURBQWEsQ0FBQTtJQUNiLHlDQUFNLENBQUE7SUFDTix5REFBYyxDQUFBO0lBQ2QsbURBQVcsQ0FBQTtJQUNYLCtEQUFpQixDQUFBO0lBQ2pCLHVFQUFxQixDQUFBO0lBQ3JCLG9FQUFvQixDQUFBO0lBQ3BCLGtFQUFtQixDQUFBO0lBQ25CLDBEQUFlLENBQUE7QUFDakIsQ0FBQyxFQVZXLFdBQVcsMkJBQVgsV0FBVyxRQVV0QjtBQUVEOztHQUVHO0FBQ0gsTUFBYSxtQkFBb0IsU0FBUSwyQkFBMEI7SUFDakUsd0NBQXdDO0lBQ3hCLEtBQUssQ0FBTTtJQUUzQixZQUFZLEtBQVUsRUFBRSxRQUF3QjtRQUM5QyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxNQUFhLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxDQUFDLElBQVMsRUFBRSxLQUFLLEdBQUcsSUFBSTtRQUMxQixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ25CLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRXBDLElBQUksUUFBUSxFQUFFLENBQUM7WUFDYixJQUFJLEtBQUs7Z0JBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDekMsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQztRQUVELE1B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O1lBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZDLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQVUsRUFBRSxPQUE4QztRQUNwRSxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDO1lBQ3BCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3BDLElBQUksUUFBUTtnQkFBRSxPQUFPLFFBQVEsQ0FBQztRQUNoQyxDQUFDO1FBQ0QsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLGFBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN0RSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLElBQUksSUFBSSxDQUFDLENBQUM7SUFDakQsQ0FBQztDQUNGO0FBMUJELHdDQTBCQztBQUVELGtCQUFlLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBNYW5hZ2VyIGZvciBjaGFubmVscyB3aXRoIGNhY2hpbmcgYW5kIGxhenkgbG9hZGluZ1xuICovXG5cbmltcG9ydCB7IENhY2hlZE1hbmFnZXIgfSBmcm9tICcuL0Jhc2VNYW5hZ2VyJztcbmltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuLi91dGlscy9Db2xsZWN0aW9uJztcblxuLyoqIENoYW5uZWwgdHlwZXMgKi9cbmV4cG9ydCBlbnVtIENoYW5uZWxUeXBlIHtcbiAgR3VpbGRUZXh0ID0gMCxcbiAgRE0gPSAxLFxuICBHdWlsZFZvaWNlID0gMixcbiAgR3JvdXBETSA9IDMsXG4gIEd1aWxkQ2F0ZWdvcnkgPSA0LFxuICBHdWlsZEFubm91bmNlbWVudCA9IDUsXG4gIEd1aWxkU3RhZ2VWb2ljZSA9IDEzLFxuICBHdWlsZERpcmVjdG9yeSA9IDE0LFxuICBHdWlsZEZvcnVtID0gMTUsXG59XG5cbi8qKlxuICogTWFuYWdlcyBjaGFubmVscyBmb3IgYSBndWlsZFxuICovXG5leHBvcnQgY2xhc3MgR3VpbGRDaGFubmVsTWFuYWdlciBleHRlbmRzIENhY2hlZE1hbmFnZXI8c3RyaW5nLCBhbnk+IHtcbiAgLyoqIFRoZSBndWlsZCB0aGlzIG1hbmFnZXIgYmVsb25ncyB0byAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZ3VpbGQ6IGFueTtcblxuICBjb25zdHJ1Y3RvcihndWlsZDogYW55LCBpdGVyYWJsZT86IEl0ZXJhYmxlPGFueT4pIHtcbiAgICBzdXBlcihndWlsZC5jbGllbnQsIE9iamVjdCBhcyBhbnksIGl0ZXJhYmxlKTtcbiAgICB0aGlzLmd1aWxkID0gZ3VpbGQ7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgY2hhbm5lbCB0byB0aGUgY2FjaGVcbiAgICovXG4gIF9hZGQoZGF0YTogYW55LCBjYWNoZSA9IHRydWUpOiBhbnkge1xuICAgIGNvbnN0IGlkID0gZGF0YS5pZDtcbiAgICBjb25zdCBleGlzdGluZyA9IHRoaXMuY2FjaGUuZ2V0KGlkKTtcbiAgICBcbiAgICBpZiAoZXhpc3RpbmcpIHtcbiAgICAgIGlmIChjYWNoZSkgT2JqZWN0LmFzc2lnbihleGlzdGluZywgZGF0YSk7XG4gICAgICByZXR1cm4gZXhpc3Rpbmc7XG4gICAgfVxuICAgIFxuICAgIGNvbnN0IGNoYW5uZWwgPSB7XG4gICAgICBpZCxcbiAgICAgIGd1aWxkSWQ6IHRoaXMuZ3VpbGQuaWQsXG4gICAgICBuYW1lOiBkYXRhLm5hbWUsXG4gICAgICB0eXBlOiBkYXRhLnR5cGUsXG4gICAgICBwb3NpdGlvbjogZGF0YS5wb3NpdGlvbiA/PyAwLFxuICAgICAgcGFyZW50SWQ6IGRhdGEucGFyZW50X2lkID8/IG51bGwsXG4gICAgICBwZXJtaXNzaW9uT3ZlcndyaXRlczogZGF0YS5wZXJtaXNzaW9uX292ZXJ3cml0ZXMgPz8gW10sXG4gICAgICB0b3BpYzogZGF0YS50b3BpYyA/PyBudWxsLFxuICAgICAgbnNmdzogZGF0YS5uc2Z3ID8/IGZhbHNlLFxuICAgICAgcmF0ZUxpbWl0UGVyVXNlcjogZGF0YS5yYXRlX2xpbWl0X3Blcl91c2VyID8/IDAsXG4gICAgICBiaXRyYXRlOiBkYXRhLmJpdHJhdGUsXG4gICAgICB1c2VyTGltaXQ6IGRhdGEudXNlcl9saW1pdCxcbiAgICAgIFxuICAgICAgZ2V0IGlzVGV4dCgpIHsgcmV0dXJuIFtDaGFubmVsVHlwZS5HdWlsZFRleHQsIENoYW5uZWxUeXBlLkd1aWxkQW5ub3VuY2VtZW50XS5pbmNsdWRlcyh0aGlzLnR5cGUpOyB9LFxuICAgICAgZ2V0IGlzVm9pY2UoKSB7IHJldHVybiBbQ2hhbm5lbFR5cGUuR3VpbGRWb2ljZSwgQ2hhbm5lbFR5cGUuR3VpbGRTdGFnZVZvaWNlXS5pbmNsdWRlcyh0aGlzLnR5cGUpOyB9LFxuICAgICAgZ2V0IGlzQ2F0ZWdvcnkoKSB7IHJldHVybiB0aGlzLnR5cGUgPT09IENoYW5uZWxUeXBlLkd1aWxkQ2F0ZWdvcnk7IH0sXG4gICAgICBcbiAgICAgIHRvU3RyaW5nKCkgeyByZXR1cm4gYDwjJHt0aGlzLmlkfT5gOyB9LFxuICAgICAgXG4gICAgICBhc3luYyBzZW5kKGNvbnRlbnQ6IGFueSkge1xuICAgICAgICByZXR1cm4gdGhpcy5ndWlsZC5jbGllbnQucmVzdC5yZXF1ZXN0KCdQT1NUJywgYC9jaGFubmVscy8ke3RoaXMuaWR9L21lc3NhZ2VzYCwgXG4gICAgICAgICAgdHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnID8geyBjb250ZW50IH0gOiBjb250ZW50XG4gICAgICAgICk7XG4gICAgICB9LFxuICAgICAgXG4gICAgICBhc3luYyBkZWxldGUocmVhc29uPzogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmd1aWxkLmNsaWVudC5yZXN0LnJlcXVlc3QoJ0RFTEVURScsIGAvY2hhbm5lbHMvJHt0aGlzLmlkfWAsIHJlYXNvbiA/IHsgcmVhc29uIH0gOiB1bmRlZmluZWQpO1xuICAgICAgfSxcbiAgICAgIFxuICAgICAgYXN5bmMgZWRpdChkYXRhOiBhbnkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ3VpbGQuY2xpZW50LnJlc3QucmVxdWVzdCgnUEFUQ0gnLCBgL2NoYW5uZWxzLyR7dGhpcy5pZH1gLCBkYXRhKTtcbiAgICAgIH0sXG4gICAgfTtcbiAgICBcbiAgICBpZiAoY2FjaGUpIHRoaXMuY2FjaGUuc2V0KGlkLCBjaGFubmVsKTtcbiAgICByZXR1cm4gY2hhbm5lbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaCBhIGNoYW5uZWwgZnJvbSB0aGUgQVBJXG4gICAqL1xuICBhc3luYyBmZXRjaChpZDogc3RyaW5nLCBvcHRpb25zPzogeyBjYWNoZT86IGJvb2xlYW47IGZvcmNlPzogYm9vbGVhbiB9KTogUHJvbWlzZTxhbnk+IHtcbiAgICBpZiAoIW9wdGlvbnM/LmZvcmNlKSB7XG4gICAgICBjb25zdCBleGlzdGluZyA9IHRoaXMuY2FjaGUuZ2V0KGlkKTtcbiAgICAgIGlmIChleGlzdGluZykgcmV0dXJuIGV4aXN0aW5nO1xuICAgIH1cbiAgICBcbiAgICBjb25zdCBkYXRhID0gYXdhaXQgdGhpcy5jbGllbnQucmVzdC5yZXF1ZXN0KCdHRVQnLCBgL2NoYW5uZWxzLyR7aWR9YCk7XG4gICAgcmV0dXJuIHRoaXMuX2FkZChkYXRhLCBvcHRpb25zPy5jYWNoZSA/PyB0cnVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaCBhbGwgY2hhbm5lbHMgZm9yIHRoZSBndWlsZFxuICAgKi9cbiAgYXN5bmMgZmV0Y2hBbGwoKTogUHJvbWlzZTxDb2xsZWN0aW9uPHN0cmluZywgYW55Pj4ge1xuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLmNsaWVudC5yZXN0LnJlcXVlc3QoJ0dFVCcsIGAvZ3VpbGRzLyR7dGhpcy5ndWlsZC5pZH0vY2hhbm5lbHNgKTtcbiAgICBjb25zdCBjaGFubmVscyA9IG5ldyBDb2xsZWN0aW9uPHN0cmluZywgYW55PigpO1xuICAgIGZvciAoY29uc3QgY2hhbm5lbERhdGEgb2YgZGF0YSkge1xuICAgICAgY29uc3QgY2hhbm5lbCA9IHRoaXMuX2FkZChjaGFubmVsRGF0YSk7XG4gICAgICBjaGFubmVscy5zZXQoY2hhbm5lbC5pZCwgY2hhbm5lbCk7XG4gICAgfVxuICAgIHJldHVybiBjaGFubmVscztcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBuZXcgY2hhbm5lbFxuICAgKi9cbiAgYXN5bmMgY3JlYXRlKG9wdGlvbnM6IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdHlwZT86IENoYW5uZWxUeXBlO1xuICAgIHRvcGljPzogc3RyaW5nO1xuICAgIGJpdHJhdGU/OiBudW1iZXI7XG4gICAgdXNlckxpbWl0PzogbnVtYmVyO1xuICAgIHJhdGVMaW1pdFBlclVzZXI/OiBudW1iZXI7XG4gICAgcG9zaXRpb24/OiBudW1iZXI7XG4gICAgcGVybWlzc2lvbk92ZXJ3cml0ZXM/OiBhbnlbXTtcbiAgICBwYXJlbnQ/OiBzdHJpbmc7XG4gICAgbnNmdz86IGJvb2xlYW47XG4gICAgcmVhc29uPzogc3RyaW5nO1xuICB9KTogUHJvbWlzZTxhbnk+IHtcbiAgICBjb25zdCBib2R5OiBhbnkgPSB7XG4gICAgICBuYW1lOiBvcHRpb25zLm5hbWUsXG4gICAgICB0eXBlOiBvcHRpb25zLnR5cGUgPz8gQ2hhbm5lbFR5cGUuR3VpbGRUZXh0LFxuICAgIH07XG4gICAgaWYgKG9wdGlvbnMudG9waWMpIGJvZHkudG9waWMgPSBvcHRpb25zLnRvcGljO1xuICAgIGlmIChvcHRpb25zLmJpdHJhdGUpIGJvZHkuYml0cmF0ZSA9IG9wdGlvbnMuYml0cmF0ZTtcbiAgICBpZiAob3B0aW9ucy51c2VyTGltaXQpIGJvZHkudXNlcl9saW1pdCA9IG9wdGlvbnMudXNlckxpbWl0O1xuICAgIGlmIChvcHRpb25zLnJhdGVMaW1pdFBlclVzZXIpIGJvZHkucmF0ZV9saW1pdF9wZXJfdXNlciA9IG9wdGlvbnMucmF0ZUxpbWl0UGVyVXNlcjtcbiAgICBpZiAob3B0aW9ucy5wb3NpdGlvbiAhPT0gdW5kZWZpbmVkKSBib2R5LnBvc2l0aW9uID0gb3B0aW9ucy5wb3NpdGlvbjtcbiAgICBpZiAob3B0aW9ucy5wZXJtaXNzaW9uT3ZlcndyaXRlcykgYm9keS5wZXJtaXNzaW9uX292ZXJ3cml0ZXMgPSBvcHRpb25zLnBlcm1pc3Npb25PdmVyd3JpdGVzO1xuICAgIGlmIChvcHRpb25zLnBhcmVudCkgYm9keS5wYXJlbnRfaWQgPSBvcHRpb25zLnBhcmVudDtcbiAgICBpZiAob3B0aW9ucy5uc2Z3ICE9PSB1bmRlZmluZWQpIGJvZHkubnNmdyA9IG9wdGlvbnMubnNmdztcbiAgICBcbiAgICBjb25zdCBkYXRhID0gYXdhaXQgdGhpcy5jbGllbnQucmVzdC5yZXF1ZXN0KCdQT1NUJywgYC9ndWlsZHMvJHt0aGlzLmd1aWxkLmlkfS9jaGFubmVsc2AsIGJvZHkpO1xuICAgIHJldHVybiB0aGlzLl9hZGQoZGF0YSk7XG4gIH1cblxuICAvKipcbiAgICogRGVsZXRlIGEgY2hhbm5lbFxuICAgKi9cbiAgYXN5bmMgZGVsZXRlKGlkOiBzdHJpbmcsIHJlYXNvbj86IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuY2xpZW50LnJlc3QucmVxdWVzdCgnREVMRVRFJywgYC9jaGFubmVscy8ke2lkfWAsIHJlYXNvbiA/IHsgcmVhc29uIH0gOiB1bmRlZmluZWQpO1xuICAgIHRoaXMuY2FjaGUuZGVsZXRlKGlkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFZGl0IGEgY2hhbm5lbFxuICAgKi9cbiAgYXN5bmMgZWRpdChpZDogc3RyaW5nLCBkYXRhOiB7XG4gICAgbmFtZT86IHN0cmluZztcbiAgICB0eXBlPzogQ2hhbm5lbFR5cGU7XG4gICAgcG9zaXRpb24/OiBudW1iZXI7XG4gICAgdG9waWM/OiBzdHJpbmc7XG4gICAgbnNmdz86IGJvb2xlYW47XG4gICAgcmF0ZUxpbWl0UGVyVXNlcj86IG51bWJlcjtcbiAgICBiaXRyYXRlPzogbnVtYmVyO1xuICAgIHVzZXJMaW1pdD86IG51bWJlcjtcbiAgICBwZXJtaXNzaW9uT3ZlcndyaXRlcz86IGFueVtdO1xuICAgIHBhcmVudD86IHN0cmluZyB8IG51bGw7XG4gIH0pOiBQcm9taXNlPGFueT4ge1xuICAgIGNvbnN0IGJvZHk6IGFueSA9IHt9O1xuICAgIGlmIChkYXRhLm5hbWUpIGJvZHkubmFtZSA9IGRhdGEubmFtZTtcbiAgICBpZiAoZGF0YS50eXBlICE9PSB1bmRlZmluZWQpIGJvZHkudHlwZSA9IGRhdGEudHlwZTtcbiAgICBpZiAoZGF0YS5wb3NpdGlvbiAhPT0gdW5kZWZpbmVkKSBib2R5LnBvc2l0aW9uID0gZGF0YS5wb3NpdGlvbjtcbiAgICBpZiAoZGF0YS50b3BpYyAhPT0gdW5kZWZpbmVkKSBib2R5LnRvcGljID0gZGF0YS50b3BpYztcbiAgICBpZiAoZGF0YS5uc2Z3ICE9PSB1bmRlZmluZWQpIGJvZHkubnNmdyA9IGRhdGEubnNmdztcbiAgICBpZiAoZGF0YS5yYXRlTGltaXRQZXJVc2VyICE9PSB1bmRlZmluZWQpIGJvZHkucmF0ZV9saW1pdF9wZXJfdXNlciA9IGRhdGEucmF0ZUxpbWl0UGVyVXNlcjtcbiAgICBpZiAoZGF0YS5iaXRyYXRlICE9PSB1bmRlZmluZWQpIGJvZHkuYml0cmF0ZSA9IGRhdGEuYml0cmF0ZTtcbiAgICBpZiAoZGF0YS51c2VyTGltaXQgIT09IHVuZGVmaW5lZCkgYm9keS51c2VyX2xpbWl0ID0gZGF0YS51c2VyTGltaXQ7XG4gICAgaWYgKGRhdGEucGVybWlzc2lvbk92ZXJ3cml0ZXMpIGJvZHkucGVybWlzc2lvbl9vdmVyd3JpdGVzID0gZGF0YS5wZXJtaXNzaW9uT3ZlcndyaXRlcztcbiAgICBpZiAoZGF0YS5wYXJlbnQgIT09IHVuZGVmaW5lZCkgYm9keS5wYXJlbnRfaWQgPSBkYXRhLnBhcmVudDtcbiAgICBcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmNsaWVudC5yZXN0LnJlcXVlc3QoJ1BBVENIJywgYC9jaGFubmVscy8ke2lkfWAsIGJvZHkpO1xuICAgIHJldHVybiB0aGlzLl9hZGQocmVzdWx0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgY2hhbm5lbCBwb3NpdGlvbnNcbiAgICovXG4gIGFzeW5jIHNldFBvc2l0aW9ucyhwb3NpdGlvbnM6IEFycmF5PHsgY2hhbm5lbDogc3RyaW5nOyBwb3NpdGlvbjogbnVtYmVyOyBwYXJlbnQ/OiBzdHJpbmcgfCBudWxsIH0+KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgYm9keSA9IHBvc2l0aW9ucy5tYXAocCA9PiAoe1xuICAgICAgaWQ6IHAuY2hhbm5lbCxcbiAgICAgIHBvc2l0aW9uOiBwLnBvc2l0aW9uLFxuICAgICAgcGFyZW50X2lkOiBwLnBhcmVudCxcbiAgICB9KSk7XG4gICAgYXdhaXQgdGhpcy5jbGllbnQucmVzdC5yZXF1ZXN0KCdQQVRDSCcsIGAvZ3VpbGRzLyR7dGhpcy5ndWlsZC5pZH0vY2hhbm5lbHNgLCBib2R5KTtcbiAgfVxufVxuXG4vKipcbiAqIEdsb2JhbCBjaGFubmVsIG1hbmFnZXIgZm9yIHRoZSBjbGllbnRcbiAqL1xuZXhwb3J0IGNsYXNzIENoYW5uZWxNYW5hZ2VyIGV4dGVuZHMgQ2FjaGVkTWFuYWdlcjxzdHJpbmcsIGFueT4ge1xuICBjb25zdHJ1Y3RvcihjbGllbnQ6IGFueSwgaXRlcmFibGU/OiBJdGVyYWJsZTxhbnk+KSB7XG4gICAgc3VwZXIoY2xpZW50LCBPYmplY3QgYXMgYW55LCBpdGVyYWJsZSk7XG4gIH1cblxuICBfYWRkKGRhdGE6IGFueSwgY2FjaGUgPSB0cnVlKTogYW55IHtcbiAgICBjb25zdCBpZCA9IGRhdGEuaWQ7XG4gICAgY29uc3QgZXhpc3RpbmcgPSB0aGlzLmNhY2hlLmdldChpZCk7XG4gICAgaWYgKGV4aXN0aW5nKSB7XG4gICAgICBpZiAoY2FjaGUpIE9iamVjdC5hc3NpZ24oZXhpc3RpbmcsIGRhdGEpO1xuICAgICAgcmV0dXJuIGV4aXN0aW5nO1xuICAgIH1cbiAgICBcbiAgICBjb25zdCBjaGFubmVsID0geyAuLi5kYXRhLCBpZCB9O1xuICAgIGlmIChjYWNoZSkgdGhpcy5jYWNoZS5zZXQoaWQsIGNoYW5uZWwpO1xuICAgIHJldHVybiBjaGFubmVsO1xuICB9XG5cbiAgYXN5bmMgZmV0Y2goaWQ6IHN0cmluZywgb3B0aW9ucz86IHsgY2FjaGU/OiBib29sZWFuOyBmb3JjZT86IGJvb2xlYW4gfSk6IFByb21pc2U8YW55PiB7XG4gICAgaWYgKCFvcHRpb25zPy5mb3JjZSkge1xuICAgICAgY29uc3QgZXhpc3RpbmcgPSB0aGlzLmNhY2hlLmdldChpZCk7XG4gICAgICBpZiAoZXhpc3RpbmcpIHJldHVybiBleGlzdGluZztcbiAgICB9XG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHRoaXMuY2xpZW50LnJlc3QucmVxdWVzdCgnR0VUJywgYC9jaGFubmVscy8ke2lkfWApO1xuICAgIHJldHVybiB0aGlzLl9hZGQoZGF0YSwgb3B0aW9ucz8uY2FjaGUgPz8gdHJ1ZSk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgR3VpbGRDaGFubmVsTWFuYWdlcjtcbiJdfQ==
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Manager for guild members with caching and lazy loading
|
|
3
|
-
*/
|
|
4
|
-
import { CachedManager } from './BaseManager';
|
|
5
|
-
import { Collection } from '../utils/Collection';
|
|
6
|
-
/**
|
|
7
|
-
* Manages guild members
|
|
8
|
-
*/
|
|
9
|
-
export declare class GuildMemberManager extends CachedManager<string, any> {
|
|
10
|
-
/** The guild this manager belongs to */
|
|
11
|
-
readonly guild: any;
|
|
12
|
-
constructor(guild: any, iterable?: Iterable<any>);
|
|
13
|
-
/**
|
|
14
|
-
* Add a member to the cache
|
|
15
|
-
*/
|
|
16
|
-
_add(data: any, cache?: boolean): any;
|
|
17
|
-
/**
|
|
18
|
-
* Fetch a member from the API
|
|
19
|
-
*/
|
|
20
|
-
fetch(id: string, options?: {
|
|
21
|
-
cache?: boolean;
|
|
22
|
-
force?: boolean;
|
|
23
|
-
}): Promise<any>;
|
|
24
|
-
/**
|
|
25
|
-
* Fetch multiple members
|
|
26
|
-
*/
|
|
27
|
-
fetchMany(options?: {
|
|
28
|
-
limit?: number;
|
|
29
|
-
after?: string;
|
|
30
|
-
query?: string;
|
|
31
|
-
}): Promise<Collection<string, any>>;
|
|
32
|
-
/**
|
|
33
|
-
* Search for members by query
|
|
34
|
-
*/
|
|
35
|
-
search(options: {
|
|
36
|
-
query: string;
|
|
37
|
-
limit?: number;
|
|
38
|
-
}): Promise<Collection<string, any>>;
|
|
39
|
-
/**
|
|
40
|
-
* Kick a member
|
|
41
|
-
*/
|
|
42
|
-
kick(id: string, reason?: string): Promise<void>;
|
|
43
|
-
/**
|
|
44
|
-
* Ban a member
|
|
45
|
-
*/
|
|
46
|
-
ban(id: string, options?: {
|
|
47
|
-
deleteMessageDays?: number;
|
|
48
|
-
reason?: string;
|
|
49
|
-
}): Promise<void>;
|
|
50
|
-
/**
|
|
51
|
-
* Unban a user
|
|
52
|
-
*/
|
|
53
|
-
unban(id: string, reason?: string): Promise<void>;
|
|
54
|
-
/**
|
|
55
|
-
* Edit a member
|
|
56
|
-
*/
|
|
57
|
-
edit(id: string, data: {
|
|
58
|
-
nick?: string | null;
|
|
59
|
-
roles?: string[];
|
|
60
|
-
mute?: boolean;
|
|
61
|
-
deaf?: boolean;
|
|
62
|
-
channel_id?: string | null;
|
|
63
|
-
communication_disabled_until?: Date | null;
|
|
64
|
-
}): Promise<any>;
|
|
65
|
-
/**
|
|
66
|
-
* Add a role to a member
|
|
67
|
-
*/
|
|
68
|
-
addRole(memberId: string, roleId: string, reason?: string): Promise<void>;
|
|
69
|
-
/**
|
|
70
|
-
* Remove a role from a member
|
|
71
|
-
*/
|
|
72
|
-
removeRole(memberId: string, roleId: string, reason?: string): Promise<void>;
|
|
73
|
-
}
|
|
74
|
-
export default GuildMemberManager;
|
|
@@ -1,157 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Manager for guild members with caching and lazy loading
|
|
4
|
-
*/
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.GuildMemberManager = void 0;
|
|
7
|
-
const BaseManager_1 = require("./BaseManager");
|
|
8
|
-
const Collection_1 = require("../utils/Collection");
|
|
9
|
-
const GuildMember_1 = require("../structures/GuildMember");
|
|
10
|
-
/**
|
|
11
|
-
* Manages guild members
|
|
12
|
-
*/
|
|
13
|
-
class GuildMemberManager extends BaseManager_1.CachedManager {
|
|
14
|
-
/** The guild this manager belongs to */
|
|
15
|
-
guild;
|
|
16
|
-
constructor(guild, iterable) {
|
|
17
|
-
// Use a simple object as placeholder since we don't have GuildMember class yet
|
|
18
|
-
super(guild.client, Object, iterable);
|
|
19
|
-
this.guild = guild;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Add a member to the cache
|
|
23
|
-
*/
|
|
24
|
-
_add(data, cache = true) {
|
|
25
|
-
const id = data.user?.id ?? data.id;
|
|
26
|
-
const existing = this.cache.get(id);
|
|
27
|
-
if (existing) {
|
|
28
|
-
if (cache) {
|
|
29
|
-
Object.assign(existing, data);
|
|
30
|
-
}
|
|
31
|
-
return existing;
|
|
32
|
-
}
|
|
33
|
-
const member = {
|
|
34
|
-
id,
|
|
35
|
-
guildId: this.guild.id,
|
|
36
|
-
user: data.user,
|
|
37
|
-
nick: data.nick,
|
|
38
|
-
roles: data.roles ?? [],
|
|
39
|
-
joinedAt: data.joined_at ? new Date(data.joined_at) : null,
|
|
40
|
-
premiumSince: data.premium_since ? new Date(data.premium_since) : null,
|
|
41
|
-
deaf: data.deaf ?? false,
|
|
42
|
-
mute: data.mute ?? false,
|
|
43
|
-
pending: data.pending ?? false,
|
|
44
|
-
permissions: new GuildMember_1.Permissions(data.permissions || '0', this.guild.ownerId === id),
|
|
45
|
-
communicationDisabledUntil: data.communication_disabled_until
|
|
46
|
-
? new Date(data.communication_disabled_until)
|
|
47
|
-
: null,
|
|
48
|
-
// Helper methods
|
|
49
|
-
get displayName() {
|
|
50
|
-
return this.nick ?? this.user?.display_name ?? this.user?.username ?? 'Unknown';
|
|
51
|
-
},
|
|
52
|
-
toString() {
|
|
53
|
-
return `<@${this.id}>`;
|
|
54
|
-
},
|
|
55
|
-
};
|
|
56
|
-
if (cache) {
|
|
57
|
-
this.cache.set(id, member);
|
|
58
|
-
}
|
|
59
|
-
return member;
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Fetch a member from the API
|
|
63
|
-
*/
|
|
64
|
-
async fetch(id, options) {
|
|
65
|
-
if (!options?.force) {
|
|
66
|
-
const existing = this.cache.get(id);
|
|
67
|
-
if (existing)
|
|
68
|
-
return existing;
|
|
69
|
-
}
|
|
70
|
-
const data = await this.client.rest.request('GET', `/guilds/${this.guild.id}/members/${id}`);
|
|
71
|
-
return this._add(data, options?.cache ?? true);
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Fetch multiple members
|
|
75
|
-
*/
|
|
76
|
-
async fetchMany(options) {
|
|
77
|
-
const params = new URLSearchParams();
|
|
78
|
-
if (options?.limit)
|
|
79
|
-
params.set('limit', String(options.limit));
|
|
80
|
-
if (options?.after)
|
|
81
|
-
params.set('after', options.after);
|
|
82
|
-
if (options?.query)
|
|
83
|
-
params.set('query', options.query);
|
|
84
|
-
const data = await this.client.rest.request('GET', `/guilds/${this.guild.id}/members?${params}`);
|
|
85
|
-
const members = new Collection_1.Collection();
|
|
86
|
-
for (const memberData of data) {
|
|
87
|
-
const member = this._add(memberData);
|
|
88
|
-
members.set(member.id, member);
|
|
89
|
-
}
|
|
90
|
-
return members;
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Search for members by query
|
|
94
|
-
*/
|
|
95
|
-
async search(options) {
|
|
96
|
-
return this.fetchMany({ query: options.query, limit: options.limit ?? 10 });
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* Kick a member
|
|
100
|
-
*/
|
|
101
|
-
async kick(id, reason) {
|
|
102
|
-
await this.client.rest.request('DELETE', `/guilds/${this.guild.id}/members/${id}`, reason ? { reason } : undefined);
|
|
103
|
-
this.cache.delete(id);
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* Ban a member
|
|
107
|
-
*/
|
|
108
|
-
async ban(id, options) {
|
|
109
|
-
await this.client.rest.request('PUT', `/guilds/${this.guild.id}/bans/${id}`, {
|
|
110
|
-
delete_message_days: options?.deleteMessageDays,
|
|
111
|
-
reason: options?.reason,
|
|
112
|
-
});
|
|
113
|
-
this.cache.delete(id);
|
|
114
|
-
}
|
|
115
|
-
/**
|
|
116
|
-
* Unban a user
|
|
117
|
-
*/
|
|
118
|
-
async unban(id, reason) {
|
|
119
|
-
await this.client.rest.request('DELETE', `/guilds/${this.guild.id}/bans/${id}`, reason ? { reason } : undefined);
|
|
120
|
-
}
|
|
121
|
-
/**
|
|
122
|
-
* Edit a member
|
|
123
|
-
*/
|
|
124
|
-
async edit(id, data) {
|
|
125
|
-
const body = {};
|
|
126
|
-
if (data.nick !== undefined)
|
|
127
|
-
body.nick = data.nick;
|
|
128
|
-
if (data.roles !== undefined)
|
|
129
|
-
body.roles = data.roles;
|
|
130
|
-
if (data.mute !== undefined)
|
|
131
|
-
body.mute = data.mute;
|
|
132
|
-
if (data.deaf !== undefined)
|
|
133
|
-
body.deaf = data.deaf;
|
|
134
|
-
if (data.channel_id !== undefined)
|
|
135
|
-
body.channel_id = data.channel_id;
|
|
136
|
-
if (data.communication_disabled_until !== undefined) {
|
|
137
|
-
body.communication_disabled_until = data.communication_disabled_until?.toISOString() ?? null;
|
|
138
|
-
}
|
|
139
|
-
const result = await this.client.rest.request('PATCH', `/guilds/${this.guild.id}/members/${id}`, body);
|
|
140
|
-
return this._add(result);
|
|
141
|
-
}
|
|
142
|
-
/**
|
|
143
|
-
* Add a role to a member
|
|
144
|
-
*/
|
|
145
|
-
async addRole(memberId, roleId, reason) {
|
|
146
|
-
await this.client.rest.request('PUT', `/guilds/${this.guild.id}/members/${memberId}/roles/${roleId}`, reason ? { reason } : undefined);
|
|
147
|
-
}
|
|
148
|
-
/**
|
|
149
|
-
* Remove a role from a member
|
|
150
|
-
*/
|
|
151
|
-
async removeRole(memberId, roleId, reason) {
|
|
152
|
-
await this.client.rest.request('DELETE', `/guilds/${this.guild.id}/members/${memberId}/roles/${roleId}`, reason ? { reason } : undefined);
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
exports.GuildMemberManager = GuildMemberManager;
|
|
156
|
-
exports.default = GuildMemberManager;
|
|
157
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3VpbGRNZW1iZXJNYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21hbmFnZXJzL0d1aWxkTWVtYmVyTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7OztBQUVILCtDQUE4QztBQUM5QyxvREFBaUQ7QUFDakQsMkRBQXdEO0FBRXhEOztHQUVHO0FBQ0gsTUFBYSxrQkFBbUIsU0FBUSwyQkFBMEI7SUFDaEUsd0NBQXdDO0lBQ3hCLEtBQUssQ0FBTTtJQUUzQixZQUFZLEtBQVUsRUFBRSxRQUF3QjtRQUM5QywrRUFBK0U7UUFDL0UsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsTUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksQ0FBQyxJQUFTLEVBQUUsS0FBSyxHQUFHLElBQUk7UUFDMUIsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNwQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUVwQyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2IsSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDVixNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNoQyxDQUFDO1lBQ0QsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQztRQUVELE1BQU0sTUFBTSxHQUFHO1lBQ2IsRUFBRTtZQUNGLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDdEIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsS0FBSyxFQUFFLElBQUksQ0FBQyxL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YW5kIGxhenkgbG9hZGluZ1xuICovXG5cbmltcG9ydCB7IENhY2hlZE1hbmFnZXIgfSBmcm9tICcuL0Jhc2VNYW5hZ2VyJztcbmltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuLi91dGlscy9Db2xsZWN0aW9uJztcbmltcG9ydCB7IFBlcm1pc3Npb25zIH0gZnJvbSAnLi4vc3RydWN0dXJlcy9HdWlsZE1lbWJlcic7XG5cbi8qKlxuICogTWFuYWdlcyBndWlsZCBtZW1iZXJzXG4gKi9cbmV4cG9ydCBjbGFzcyBHdWlsZE1lbWJlck1hbmFnZXIgZXh0ZW5kcyBDYWNoZWRNYW5hZ2VyPHN0cmluZywgYW55PiB7XG4gIC8qKiBUaGUgZ3VpbGQgdGhpcyBtYW5hZ2VyIGJlbG9uZ3MgdG8gKi9cbiAgcHVibGljIHJlYWRvbmx5IGd1aWxkOiBhbnk7XG5cbiAgY29uc3RydWN0b3IoZ3VpbGQ6IGFueSwgaXRlcmFibGU/OiBJdGVyYWJsZTxhbnk+KSB7XG4gICAgLy8gVXNlIGEgc2ltcGxlIG9iamVjdCBhcyBwbGFjZWhvbGRlciBzaW5jZSB3ZSBkb24ndCBoYXZlIEd1aWxkTWVtYmVyIGNsYXNzIHlldFxuICAgIHN1cGVyKGd1aWxkLmNsaWVudCwgT2JqZWN0IGFzIGFueSwgaXRlcmFibGUpO1xuICAgIHRoaXMuZ3VpbGQgPSBndWlsZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBtZW1iZXIgdG8gdGhlIGNhY2hlXG4gICAqL1xuICBfYWRkKGRhdGE6IGFueSwgY2FjaGUgPSB0cnVlKTogYW55IHtcbiAgICBjb25zdCBpZCA9IGRhdGEudXNlcj8uaWQgPz8gZGF0YS5pZDtcbiAgICBjb25zdCBleGlzdGluZyA9IHRoaXMuY2FjaGUuZ2V0KGlkKTtcbiAgICBcbiAgICBpZiAoZXhpc3RpbmcpIHtcbiAgICAgIGlmIChjYWNoZSkge1xuICAgICAgICBPYmplY3QuYXNzaWduKGV4aXN0aW5nLCBkYXRhKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBleGlzdGluZztcbiAgICB9XG4gICAgXG4gICAgY29uc3QgbWVtYmVyID0ge1xuICAgICAgaWQsXG4gICAgICBndWlsZElkOiB0aGlzLmd1aWxkLmlkLFxuICAgICAgdXNlcjogZGF0YS51c2VyLFxuICAgICAgbmljazogZGF0YS5uaWNrLFxuICAgICAgcm9sZXM6IGRhdGEucm9sZXMgPz8gW10sXG4gICAgICBqb2luZWRBdDogZGF0YS5qb2luZWRfYXQgPyBuZXcgRGF0ZShkYXRhLmpvaW5lZF9hdCkgOiBudWxsLFxuICAgICAgcHJlbWl1bVNpbmNlOiBkYXRhLnByZW1pdW1fc2luY2UgPyBuZXcgRGF0ZShkYXRhLnByZW1pdW1fc2luY2UpIDogbnVsbCxcbiAgICAgIGRlYWY6IGRhdGEuZGVhZiA/PyBmYWxzZSxcbiAgICAgIG11dGU6IGRhdGEubXV0ZSA/PyBmYWxzZSxcbiAgICAgIHBlbmRpbmc6IGRhdGEucGVuZGluZyA/PyBmYWxzZSxcbiAgICAgIHBlcm1pc3Npb25zOiBuZXcgUGVybWlzc2lvbnMoZGF0YS5wZXJtaXNzaW9ucyB8fCAnMCcsIHRoaXMuZ3VpbGQub3duZXJJZCA9PT0gaWQpLFxuICAgICAgY29tbXVuaWNhdGlvbkRpc2FibGVkVW50aWw6IGRhdGEuY29tbXVuaWNhdGlvbl9kaXNhYmxlZF91bnRpbCBcbiAgICAgICAgPyBuZXcgRGF0ZShkYXRhLmNvbW11bmljYXRpb25fZGlzYWJsZWRfdW50aWwpIFxuICAgICAgICA6IG51bGwsXG4gICAgICBcbiAgICAgIC8vIEhlbHBlciBtZXRob2RzXG4gICAgICBnZXQgZGlzcGxheU5hbWUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm5pY2sgPz8gdGhpcy51c2VyPy5kaXNwbGF5X25hbWUgPz8gdGhpcy51c2VyPy51c2VybmFtZSA/PyAnVW5rbm93bic7XG4gICAgICB9LFxuICAgICAgXG4gICAgICB0b1N0cmluZygpIHtcbiAgICAgICAgcmV0dXJuIGA8QCR7dGhpcy5pZH0+YDtcbiAgICAgIH0sXG4gICAgfTtcbiAgICBcbiAgICBpZiAoY2FjaGUpIHtcbiAgICAgIHRoaXMuY2FjaGUuc2V0KGlkLCBtZW1iZXIpO1xuICAgIH1cbiAgICBcbiAgICByZXR1cm4gbWVtYmVyO1xuICB9XG5cbiAgLyoqXG4gICAqIEZldGNoIGEgbWVtYmVyIGZyb20gdGhlIEFQSVxuICAgKi9cbiAgYXN5bmMgZmV0Y2goaWQ6IHN0cmluZywgb3B0aW9ucz86IHsgY2FjaGU/OiBib29sZWFuOyBmb3JjZT86IGJvb2xlYW4gfSk6IFByb21pc2U8YW55PiB7XG4gICAgaWYgKCFvcHRpb25zPy5mb3JjZSkge1xuICAgICAgY29uc3QgZXhpc3RpbmcgPSB0aGlzLmNhY2hlLmdldChpZCk7XG4gICAgICBpZiAoZXhpc3RpbmcpIHJldHVybiBleGlzdGluZztcbiAgICB9XG4gICAgXG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHRoaXMuY2xpZW50LnJlc3QucmVxdWVzdChcbiAgICAgICdHRVQnLFxuICAgICAgYC9ndWlsZHMvJHt0aGlzLmd1aWxkLmlkfS9tZW1iZXJzLyR7aWR9YFxuICAgICk7XG4gICAgXG4gICAgcmV0dXJuIHRoaXMuX2FkZChkYXRhLCBvcHRpb25zPy5jYWNoZSA/PyB0cnVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaCBtdWx0aXBsZSBtZW1iZXJzXG4gICAqL1xuICBhc3luYyBmZXRjaE1hbnkob3B0aW9ucz86IHsgXG4gICAgbGltaXQ/OiBudW1iZXI7IFxuICAgIGFmdGVyPzogc3RyaW5nO1xuICAgIHF1ZXJ5Pzogc3RyaW5nO1xuICB9KTogUHJvbWlzZTxDb2xsZWN0aW9uPHN0cmluZywgYW55Pj4ge1xuICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoKTtcbiAgICBpZiAob3B0aW9ucz8ubGltaXQpIHBhcmFtcy5zZXQoJ2xpbWl0JywgU3RyaW5nKG9wdGlvbnMubGltaXQpKTtcbiAgICBpZiAob3B0aW9ucz8uYWZ0ZXIpIHBhcmFtcy5zZXQoJ2FmdGVyJywgb3B0aW9ucy5hZnRlcik7XG4gICAgaWYgKG9wdGlvbnM/LnF1ZXJ5KSBwYXJhbXMuc2V0KCdxdWVyeScsIG9wdGlvbnMucXVlcnkpO1xuICAgIFxuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLmNsaWVudC5yZXN0LnJlcXVlc3QoXG4gICAgICAnR0VUJyxcbiAgICAgIGAvZ3VpbGRzLyR7dGhpcy5ndWlsZC5pZH0vbWVtYmVycz8ke3BhcmFtc31gXG4gICAgKTtcbiAgICBcbiAgICBjb25zdCBtZW1iZXJzID0gbmV3IENvbGxlY3Rpb248c3RyaW5nLCBhbnk+KCk7XG4gICAgZm9yIChjb25zdCBtZW1iZXJEYXRhIG9mIGRhdGEpIHtcbiAgICAgIGNvbnN0IG1lbWJlciA9IHRoaXMuX2FkZChtZW1iZXJEYXRhKTtcbiAgICAgIG1lbWJlcnMuc2V0KG1lbWJlci5pZCwgbWVtYmVyKTtcbiAgICB9XG4gICAgXG4gICAgcmV0dXJuIG1lbWJlcnM7XG4gIH1cblxuICAvKipcbiAgICogU2VhcmNoIGZvciBtZW1iZXJzIGJ5IHF1ZXJ5XG4gICAqL1xuICBhc3luYyBzZWFyY2gob3B0aW9uczogeyBxdWVyeTogc3RyaW5nOyBsaW1pdD86IG51bWJlciB9KTogUHJvbWlzZTxDb2xsZWN0aW9uPHN0cmluZywgYW55Pj4ge1xuICAgIHJldHVybiB0aGlzLmZldGNoTWFueSh7IHF1ZXJ5OiBvcHRpb25zLnF1ZXJ5LCBsaW1pdDogb3B0aW9ucy5saW1pdCA/PyAxMCB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBLaWNrIGEgbWVtYmVyXG4gICAqL1xuICBhc3luYyBraWNrKGlkOiBzdHJpbmcsIHJlYXNvbj86IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuY2xpZW50LnJlc3QucmVxdWVzdChcbiAgICAgICdERUxFVEUnLFxuICAgICAgYC9ndWlsZHMvJHt0aGlzLmd1aWxkLmlkfS9tZW1iZXJzLyR7aWR9YCxcbiAgICAgIHJlYXNvbiA/IHsgcmVhc29uIH0gOiB1bmRlZmluZWRcbiAgICApO1xuICAgIHRoaXMuY2FjaGUuZGVsZXRlKGlkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCYW4gYSBtZW1iZXJcbiAgICovXG4gIGFzeW5jIGJhbihpZDogc3RyaW5nLCBvcHRpb25zPzogeyBkZWxldGVNZXNzYWdlRGF5cz86IG51bWJlcjsgcmVhc29uPzogc3RyaW5nIH0pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLmNsaWVudC5yZXN0LnJlcXVlc3QoXG4gICAgICAnUFVUJyxcbiAgICAgIGAvZ3VpbGRzLyR7dGhpcy5ndWlsZC5pZH0vYmFucy8ke2lkfWAsXG4gICAgICB7XG4gICAgICAgIGRlbGV0ZV9tZXNzYWdlX2RheXM6IG9wdGlvbnM/LmRlbGV0ZU1lc3NhZ2VEYXlzLFxuICAgICAgICByZWFzb246IG9wdGlvbnM/LnJlYXNvbixcbiAgICAgIH1cbiAgICApO1xuICAgIHRoaXMuY2FjaGUuZGVsZXRlKGlkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVbmJhbiBhIHVzZXJcbiAgICovXG4gIGFzeW5jIHVuYmFuKGlkOiBzdHJpbmcsIHJlYXNvbj86IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuY2xpZW50LnJlc3QucmVxdWVzdChcbiAgICAgICdERUxFVEUnLFxuICAgICAgYC9ndWlsZHMvJHt0aGlzLmd1aWxkLmlkfS9iYW5zLyR7aWR9YCxcbiAgICAgIHJlYXNvbiA/IHsgcmVhc29uIH0gOiB1bmRlZmluZWRcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEVkaXQgYSBtZW1iZXJcbiAgICovXG4gIGFzeW5jIGVkaXQoaWQ6IHN0cmluZywgZGF0YToge1xuICAgIG5pY2s/OiBzdHJpbmcgfCBudWxsO1xuICAgIHJvbGVzPzogc3RyaW5nW107XG4gICAgbXV0ZT86IGJvb2xlYW47XG4gICAgZGVhZj86IGJvb2xlYW47XG4gICAgY2hhbm5lbF9pZD86IHN0cmluZyB8IG51bGw7XG4gICAgY29tbXVuaWNhdGlvbl9kaXNhYmxlZF91bnRpbD86IERhdGUgfCBudWxsO1xuICB9KTogUHJvbWlzZTxhbnk+IHtcbiAgICBjb25zdCBib2R5OiBhbnkgPSB7fTtcbiAgICBpZiAoZGF0YS5uaWNrICE9PSB1bmRlZmluZWQpIGJvZHkubmljayA9IGRhdGEubmljaztcbiAgICBpZiAoZGF0YS5yb2xlcyAhPT0gdW5kZWZpbmVkKSBib2R5LnJvbGVzID0gZGF0YS5yb2xlcztcbiAgICBpZiAoZGF0YS5tdXRlICE9PSB1bmRlZmluZWQpIGJvZHkubXV0ZSA9IGRhdGEubXV0ZTtcbiAgICBpZiAoZGF0YS5kZWFmICE9PSB1bmRlZmluZWQpIGJvZHkuZGVhZiA9IGRhdGEuZGVhZjtcbiAgICBpZiAoZGF0YS5jaGFubmVsX2lkICE9PSB1bmRlZmluZWQpIGJvZHkuY2hhbm5lbF9pZCA9IGRhdGEuY2hhbm5lbF9pZDtcbiAgICBpZiAoZGF0YS5jb21tdW5pY2F0aW9uX2Rpc2FibGVkX3VudGlsICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGJvZHkuY29tbXVuaWNhdGlvbl9kaXNhYmxlZF91bnRpbCA9IGRhdGEuY29tbXVuaWNhdGlvbl9kaXNhYmxlZF91bnRpbD8udG9JU09TdHJpbmcoKSA/PyBudWxsO1xuICAgIH1cbiAgICBcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmNsaWVudC5yZXN0LnJlcXVlc3QoXG4gICAgICAnUEFUQ0gnLFxuICAgICAgYC9ndWlsZHMvJHt0aGlzLmd1aWxkLmlkfS9tZW1iZXJzLyR7aWR9YCxcbiAgICAgIGJvZHlcbiAgICApO1xuICAgIFxuICAgIHJldHVybiB0aGlzLl9hZGQocmVzdWx0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSByb2xlIHRvIGEgbWVtYmVyXG4gICAqL1xuICBhc3luYyBhZGRSb2xlKG1lbWJlcklkOiBzdHJpbmcsIHJvbGVJZDogc3RyaW5nLCByZWFzb24/OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLmNsaWVudC5yZXN0LnJlcXVlc3QoXG4gICAgICAnUFVUJyxcbiAgICAgIGAvZ3VpbGRzLyR7dGhpcy5ndWlsZC5pZH0vbWVtYmVycy8ke21lbWJlcklkfS9yb2xlcy8ke3JvbGVJZH1gLFxuICAgICAgcmVhc29uID8geyByZWFzb24gfSA6IHVuZGVmaW5lZFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIGEgcm9sZSBmcm9tIGEgbWVtYmVyXG4gICAqL1xuICBhc3luYyByZW1vdmVSb2xlKG1lbWJlcklkOiBzdHJpbmcsIHJvbGVJZDogc3RyaW5nLCByZWFzb24/OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLmNsaWVudC5yZXN0LnJlcXVlc3QoXG4gICAgICAnREVMRVRFJyxcbiAgICAgIGAvZ3VpbGRzLyR7dGhpcy5ndWlsZC5pZH0vbWVtYmVycy8ke21lbWJlcklkfS9yb2xlcy8ke3JvbGVJZH1gLFxuICAgICAgcmVhc29uID8geyByZWFzb24gfSA6IHVuZGVmaW5lZFxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgR3VpbGRNZW1iZXJNYW5hZ2VyO1xuIl19
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Manager for roles with caching and lazy loading
|
|
3
|
-
*/
|
|
4
|
-
import { CachedManager } from './BaseManager';
|
|
5
|
-
import { Collection } from '../utils/Collection';
|
|
6
|
-
/**
|
|
7
|
-
* Manages roles for a guild
|
|
8
|
-
*/
|
|
9
|
-
export declare class RoleManager extends CachedManager<string, any> {
|
|
10
|
-
/** The guild this manager belongs to */
|
|
11
|
-
readonly guild: any;
|
|
12
|
-
constructor(guild: any, iterable?: Iterable<any>);
|
|
13
|
-
/**
|
|
14
|
-
* Get the @everyone role
|
|
15
|
-
*/
|
|
16
|
-
get everyone(): any;
|
|
17
|
-
/**
|
|
18
|
-
* Get the highest role
|
|
19
|
-
*/
|
|
20
|
-
get highest(): any;
|
|
21
|
-
/**
|
|
22
|
-
* Get the bot's highest role
|
|
23
|
-
*/
|
|
24
|
-
get botRoleFor(): (userId: string) => any | null;
|
|
25
|
-
/**
|
|
26
|
-
* Add a role to the cache
|
|
27
|
-
*/
|
|
28
|
-
_add(data: any, cache?: boolean): any;
|
|
29
|
-
/**
|
|
30
|
-
* Fetch a role from the API
|
|
31
|
-
*/
|
|
32
|
-
fetch(id: string, options?: {
|
|
33
|
-
cache?: boolean;
|
|
34
|
-
force?: boolean;
|
|
35
|
-
}): Promise<any>;
|
|
36
|
-
/**
|
|
37
|
-
* Fetch all roles for the guild
|
|
38
|
-
*/
|
|
39
|
-
fetchAll(): Promise<Collection<string, any>>;
|
|
40
|
-
/**
|
|
41
|
-
* Create a new role
|
|
42
|
-
*/
|
|
43
|
-
create(options?: {
|
|
44
|
-
name?: string;
|
|
45
|
-
color?: number | string;
|
|
46
|
-
hoist?: boolean;
|
|
47
|
-
position?: number;
|
|
48
|
-
permissions?: string | bigint;
|
|
49
|
-
mentionable?: boolean;
|
|
50
|
-
icon?: string;
|
|
51
|
-
unicodeEmoji?: string;
|
|
52
|
-
reason?: string;
|
|
53
|
-
}): Promise<any>;
|
|
54
|
-
/**
|
|
55
|
-
* Delete a role
|
|
56
|
-
*/
|
|
57
|
-
delete(id: string, reason?: string): Promise<void>;
|
|
58
|
-
/**
|
|
59
|
-
* Edit a role
|
|
60
|
-
*/
|
|
61
|
-
edit(id: string, data: {
|
|
62
|
-
name?: string;
|
|
63
|
-
color?: number | string;
|
|
64
|
-
hoist?: boolean;
|
|
65
|
-
position?: number;
|
|
66
|
-
permissions?: string | bigint;
|
|
67
|
-
mentionable?: boolean;
|
|
68
|
-
icon?: string | null;
|
|
69
|
-
unicodeEmoji?: string | null;
|
|
70
|
-
reason?: string;
|
|
71
|
-
}): Promise<any>;
|
|
72
|
-
/**
|
|
73
|
-
* Set role positions
|
|
74
|
-
*/
|
|
75
|
-
setPositions(positions: Array<{
|
|
76
|
-
role: string;
|
|
77
|
-
position: number;
|
|
78
|
-
}>): Promise<Collection<string, any>>;
|
|
79
|
-
/**
|
|
80
|
-
* Compare two roles by position
|
|
81
|
-
*/
|
|
82
|
-
comparePositions(role1: string | any, role2: string | any): number;
|
|
83
|
-
}
|
|
84
|
-
export default RoleManager;
|