@jubbio/core 1.3.3 → 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.
Files changed (130) hide show
  1. package/dist/Client.js +50 -10
  2. package/dist/rest/REST.d.ts +1 -0
  3. package/dist/rest/REST.js +1 -1
  4. package/dist/structures/Channel.d.ts +1 -1
  5. package/dist/structures/Channel.js +11 -4
  6. package/dist/structures/Guild.d.ts +1 -1
  7. package/dist/structures/Guild.js +7 -3
  8. package/dist/structures/Message.d.ts +2 -0
  9. package/dist/structures/Message.js +13 -33
  10. package/package.json +4 -14
  11. package/dist/cjs/Client.d.ts +0 -157
  12. package/dist/cjs/Client.js +0 -640
  13. package/dist/cjs/builders/ActionRowBuilder.d.ts +0 -53
  14. package/dist/cjs/builders/ActionRowBuilder.js +0 -68
  15. package/dist/cjs/builders/ButtonBuilder.d.ts +0 -77
  16. package/dist/cjs/builders/ButtonBuilder.js +0 -96
  17. package/dist/cjs/builders/EmbedBuilder.d.ts +0 -157
  18. package/dist/cjs/builders/EmbedBuilder.js +0 -208
  19. package/dist/cjs/builders/ModalBuilder.d.ts +0 -122
  20. package/dist/cjs/builders/ModalBuilder.js +0 -162
  21. package/dist/cjs/builders/SelectMenuBuilder.d.ts +0 -123
  22. package/dist/cjs/builders/SelectMenuBuilder.js +0 -165
  23. package/dist/cjs/builders/SlashCommandBuilder.d.ts +0 -197
  24. package/dist/cjs/builders/SlashCommandBuilder.js +0 -324
  25. package/dist/cjs/builders/index.d.ts +0 -9
  26. package/dist/cjs/builders/index.js +0 -26
  27. package/dist/cjs/enums.d.ts +0 -191
  28. package/dist/cjs/enums.js +0 -211
  29. package/dist/cjs/index.d.ts +0 -25
  30. package/dist/cjs/index.js +0 -130
  31. package/dist/cjs/managers/BaseManager.d.ts +0 -69
  32. package/dist/cjs/managers/BaseManager.js +0 -106
  33. package/dist/cjs/managers/ChannelManager.d.ts +0 -95
  34. package/dist/cjs/managers/ChannelManager.js +0 -205
  35. package/dist/cjs/managers/GuildMemberManager.d.ts +0 -74
  36. package/dist/cjs/managers/GuildMemberManager.js +0 -157
  37. package/dist/cjs/managers/RoleManager.d.ts +0 -84
  38. package/dist/cjs/managers/RoleManager.js +0 -207
  39. package/dist/cjs/managers/index.d.ts +0 -7
  40. package/dist/cjs/managers/index.js +0 -24
  41. package/dist/cjs/rest/REST.d.ts +0 -527
  42. package/dist/cjs/rest/REST.js +0 -904
  43. package/dist/cjs/rest/index.d.ts +0 -1
  44. package/dist/cjs/rest/index.js +0 -18
  45. package/dist/cjs/sharding/ShardingManager.d.ts +0 -179
  46. package/dist/cjs/sharding/ShardingManager.js +0 -375
  47. package/dist/cjs/sharding/index.d.ts +0 -4
  48. package/dist/cjs/sharding/index.js +0 -21
  49. package/dist/cjs/structures/Channel.d.ts +0 -122
  50. package/dist/cjs/structures/Channel.js +0 -240
  51. package/dist/cjs/structures/Collection.d.ts +0 -53
  52. package/dist/cjs/structures/Collection.js +0 -115
  53. package/dist/cjs/structures/Guild.d.ts +0 -59
  54. package/dist/cjs/structures/Guild.js +0 -94
  55. package/dist/cjs/structures/GuildMember.d.ts +0 -174
  56. package/dist/cjs/structures/GuildMember.js +0 -311
  57. package/dist/cjs/structures/Interaction.d.ts +0 -245
  58. package/dist/cjs/structures/Interaction.js +0 -450
  59. package/dist/cjs/structures/Message.d.ts +0 -98
  60. package/dist/cjs/structures/Message.js +0 -195
  61. package/dist/cjs/structures/User.d.ts +0 -37
  62. package/dist/cjs/structures/User.js +0 -65
  63. package/dist/cjs/structures/index.d.ts +0 -7
  64. package/dist/cjs/structures/index.js +0 -25
  65. package/dist/cjs/structures.d.ts +0 -1
  66. package/dist/cjs/structures.js +0 -19
  67. package/dist/cjs/types.d.ts +0 -255
  68. package/dist/cjs/types.js +0 -3
  69. package/dist/cjs/utils/BitField.d.ts +0 -66
  70. package/dist/cjs/utils/BitField.js +0 -138
  71. package/dist/cjs/utils/Collection.d.ts +0 -116
  72. package/dist/cjs/utils/Collection.js +0 -265
  73. package/dist/cjs/utils/Collector.d.ts +0 -152
  74. package/dist/cjs/utils/Collector.js +0 -314
  75. package/dist/cjs/utils/DataResolver.d.ts +0 -61
  76. package/dist/cjs/utils/DataResolver.js +0 -146
  77. package/dist/cjs/utils/Formatters.d.ts +0 -145
  78. package/dist/cjs/utils/Formatters.js +0 -213
  79. package/dist/cjs/utils/IntentsBitField.d.ts +0 -85
  80. package/dist/cjs/utils/IntentsBitField.js +0 -99
  81. package/dist/cjs/utils/Partials.d.ts +0 -104
  82. package/dist/cjs/utils/Partials.js +0 -148
  83. package/dist/cjs/utils/PermissionsBitField.d.ts +0 -118
  84. package/dist/cjs/utils/PermissionsBitField.js +0 -145
  85. package/dist/cjs/utils/SnowflakeUtil.d.ts +0 -63
  86. package/dist/cjs/utils/SnowflakeUtil.js +0 -93
  87. package/dist/cjs/utils/Sweepers.d.ts +0 -119
  88. package/dist/cjs/utils/Sweepers.js +0 -249
  89. package/dist/cjs/utils/index.d.ts +0 -13
  90. package/dist/cjs/utils/index.js +0 -30
  91. package/dist/esm/Client.js +0 -634
  92. package/dist/esm/builders/ActionRowBuilder.js +0 -64
  93. package/dist/esm/builders/ButtonBuilder.js +0 -92
  94. package/dist/esm/builders/EmbedBuilder.js +0 -204
  95. package/dist/esm/builders/ModalBuilder.js +0 -157
  96. package/dist/esm/builders/SelectMenuBuilder.js +0 -161
  97. package/dist/esm/builders/SlashCommandBuilder.js +0 -311
  98. package/dist/esm/builders/index.js +0 -10
  99. package/dist/esm/enums.js +0 -208
  100. package/dist/esm/index.js +0 -34
  101. package/dist/esm/managers/BaseManager.js +0 -100
  102. package/dist/esm/managers/ChannelManager.js +0 -200
  103. package/dist/esm/managers/GuildMemberManager.js +0 -153
  104. package/dist/esm/managers/RoleManager.js +0 -203
  105. package/dist/esm/managers/index.js +0 -8
  106. package/dist/esm/rest/REST.js +0 -900
  107. package/dist/esm/rest/index.js +0 -2
  108. package/dist/esm/sharding/ShardingManager.js +0 -366
  109. package/dist/esm/sharding/index.js +0 -5
  110. package/dist/esm/structures/Channel.js +0 -232
  111. package/dist/esm/structures/Collection.js +0 -111
  112. package/dist/esm/structures/Guild.js +0 -90
  113. package/dist/esm/structures/GuildMember.js +0 -306
  114. package/dist/esm/structures/Interaction.js +0 -438
  115. package/dist/esm/structures/Message.js +0 -191
  116. package/dist/esm/structures/User.js +0 -61
  117. package/dist/esm/structures/index.js +0 -9
  118. package/dist/esm/structures.js +0 -3
  119. package/dist/esm/types.js +0 -2
  120. package/dist/esm/utils/BitField.js +0 -134
  121. package/dist/esm/utils/Collection.js +0 -261
  122. package/dist/esm/utils/Collector.js +0 -305
  123. package/dist/esm/utils/DataResolver.js +0 -142
  124. package/dist/esm/utils/Formatters.js +0 -191
  125. package/dist/esm/utils/IntentsBitField.js +0 -93
  126. package/dist/esm/utils/Partials.js +0 -137
  127. package/dist/esm/utils/PermissionsBitField.js +0 -141
  128. package/dist/esm/utils/SnowflakeUtil.js +0 -89
  129. package/dist/esm/utils/Sweepers.js +0 -245
  130. package/dist/esm/utils/index.js +0 -14
@@ -1,153 +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
- import { Permissions } from '../structures/GuildMember';
7
- /**
8
- * Manages guild members
9
- */
10
- export class GuildMemberManager extends CachedManager {
11
- /** The guild this manager belongs to */
12
- guild;
13
- constructor(guild, iterable) {
14
- // Use a simple object as placeholder since we don't have GuildMember class yet
15
- super(guild.client, Object, iterable);
16
- this.guild = guild;
17
- }
18
- /**
19
- * Add a member to the cache
20
- */
21
- _add(data, cache = true) {
22
- const id = data.user?.id ?? data.id;
23
- const existing = this.cache.get(id);
24
- if (existing) {
25
- if (cache) {
26
- Object.assign(existing, data);
27
- }
28
- return existing;
29
- }
30
- const member = {
31
- id,
32
- guildId: this.guild.id,
33
- user: data.user,
34
- nick: data.nick,
35
- roles: data.roles ?? [],
36
- joinedAt: data.joined_at ? new Date(data.joined_at) : null,
37
- premiumSince: data.premium_since ? new Date(data.premium_since) : null,
38
- deaf: data.deaf ?? false,
39
- mute: data.mute ?? false,
40
- pending: data.pending ?? false,
41
- permissions: new Permissions(data.permissions || '0', this.guild.ownerId === id),
42
- communicationDisabledUntil: data.communication_disabled_until
43
- ? new Date(data.communication_disabled_until)
44
- : null,
45
- // Helper methods
46
- get displayName() {
47
- return this.nick ?? this.user?.display_name ?? this.user?.username ?? 'Unknown';
48
- },
49
- toString() {
50
- return `<@${this.id}>`;
51
- },
52
- };
53
- if (cache) {
54
- this.cache.set(id, member);
55
- }
56
- return member;
57
- }
58
- /**
59
- * Fetch a member from the API
60
- */
61
- async fetch(id, options) {
62
- if (!options?.force) {
63
- const existing = this.cache.get(id);
64
- if (existing)
65
- return existing;
66
- }
67
- const data = await this.client.rest.request('GET', `/guilds/${this.guild.id}/members/${id}`);
68
- return this._add(data, options?.cache ?? true);
69
- }
70
- /**
71
- * Fetch multiple members
72
- */
73
- async fetchMany(options) {
74
- const params = new URLSearchParams();
75
- if (options?.limit)
76
- params.set('limit', String(options.limit));
77
- if (options?.after)
78
- params.set('after', options.after);
79
- if (options?.query)
80
- params.set('query', options.query);
81
- const data = await this.client.rest.request('GET', `/guilds/${this.guild.id}/members?${params}`);
82
- const members = new Collection();
83
- for (const memberData of data) {
84
- const member = this._add(memberData);
85
- members.set(member.id, member);
86
- }
87
- return members;
88
- }
89
- /**
90
- * Search for members by query
91
- */
92
- async search(options) {
93
- return this.fetchMany({ query: options.query, limit: options.limit ?? 10 });
94
- }
95
- /**
96
- * Kick a member
97
- */
98
- async kick(id, reason) {
99
- await this.client.rest.request('DELETE', `/guilds/${this.guild.id}/members/${id}`, reason ? { reason } : undefined);
100
- this.cache.delete(id);
101
- }
102
- /**
103
- * Ban a member
104
- */
105
- async ban(id, options) {
106
- await this.client.rest.request('PUT', `/guilds/${this.guild.id}/bans/${id}`, {
107
- delete_message_days: options?.deleteMessageDays,
108
- reason: options?.reason,
109
- });
110
- this.cache.delete(id);
111
- }
112
- /**
113
- * Unban a user
114
- */
115
- async unban(id, reason) {
116
- await this.client.rest.request('DELETE', `/guilds/${this.guild.id}/bans/${id}`, reason ? { reason } : undefined);
117
- }
118
- /**
119
- * Edit a member
120
- */
121
- async edit(id, data) {
122
- const body = {};
123
- if (data.nick !== undefined)
124
- body.nick = data.nick;
125
- if (data.roles !== undefined)
126
- body.roles = data.roles;
127
- if (data.mute !== undefined)
128
- body.mute = data.mute;
129
- if (data.deaf !== undefined)
130
- body.deaf = data.deaf;
131
- if (data.channel_id !== undefined)
132
- body.channel_id = data.channel_id;
133
- if (data.communication_disabled_until !== undefined) {
134
- body.communication_disabled_until = data.communication_disabled_until?.toISOString() ?? null;
135
- }
136
- const result = await this.client.rest.request('PATCH', `/guilds/${this.guild.id}/members/${id}`, body);
137
- return this._add(result);
138
- }
139
- /**
140
- * Add a role to a member
141
- */
142
- async addRole(memberId, roleId, reason) {
143
- await this.client.rest.request('PUT', `/guilds/${this.guild.id}/members/${memberId}/roles/${roleId}`, reason ? { reason } : undefined);
144
- }
145
- /**
146
- * Remove a role from a member
147
- */
148
- async removeRole(memberId, roleId, reason) {
149
- await this.client.rest.request('DELETE', `/guilds/${this.guild.id}/members/${memberId}/roles/${roleId}`, reason ? { reason } : undefined);
150
- }
151
- }
152
- export default GuildMemberManager;
153
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3VpbGRNZW1iZXJNYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21hbmFnZXJzL0d1aWxkTWVtYmVyTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV4RDs7R0FFRztBQUNILE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxhQUEwQjtJQUNoRSx3Q0FBd0M7SUFDeEIsS0FBSyxDQUFNO0lBRTNCLFlBQVksS0FBVSxFQUFFLFFBQXdCO1FBQzlDLCtFQUErRTtRQUMvRSxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxNQUFhLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxDQUFDLElBQVMsRUFBRSxLQUFLLEdBQUcsSUFBSTtRQUMxQixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ3BDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRXBDLElBQUksUUFBUSxFQUFFLENBQUM7WUFDYixJQUFJLEtBQUssRUFBRSxDQUFDO2dCQUNWLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ2hDLENBQUM7WUFDRCxPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQUc7WUFDYixFQUFFO1lBQ0YsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsRUFB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LENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIE1hbmFnZXIgZm9yIGd1aWxkIG1lbWJlcnMgd2l0aCBjYWNoaW5nIGFuZCBsYXp5IGxvYWRpbmdcbiAqL1xuXG5pbXBvcnQgeyBDYWNoZWRNYW5hZ2VyIH0gZnJvbSAnLi9CYXNlTWFuYWdlcic7XG5pbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi4vdXRpbHMvQ29sbGVjdGlvbic7XG5pbXBvcnQgeyBQZXJtaXNzaW9ucyB9IGZyb20gJy4uL3N0cnVjdHVyZXMvR3VpbGRNZW1iZXInO1xuXG4vKipcbiAqIE1hbmFnZXMgZ3VpbGQgbWVtYmVyc1xuICovXG5leHBvcnQgY2xhc3MgR3VpbGRNZW1iZXJNYW5hZ2VyIGV4dGVuZHMgQ2FjaGVkTWFuYWdlcjxzdHJpbmcsIGFueT4ge1xuICAvKiogVGhlIGd1aWxkIHRoaXMgbWFuYWdlciBiZWxvbmdzIHRvICovXG4gIHB1YmxpYyByZWFkb25seSBndWlsZDogYW55O1xuXG4gIGNvbnN0cnVjdG9yKGd1aWxkOiBhbnksIGl0ZXJhYmxlPzogSXRlcmFibGU8YW55Pikge1xuICAgIC8vIFVzZSBhIHNpbXBsZSBvYmplY3QgYXMgcGxhY2Vob2xkZXIgc2luY2Ugd2UgZG9uJ3QgaGF2ZSBHdWlsZE1lbWJlciBjbGFzcyB5ZXRcbiAgICBzdXBlcihndWlsZC5jbGllbnQsIE9iamVjdCBhcyBhbnksIGl0ZXJhYmxlKTtcbiAgICB0aGlzLmd1aWxkID0gZ3VpbGQ7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgbWVtYmVyIHRvIHRoZSBjYWNoZVxuICAgKi9cbiAgX2FkZChkYXRhOiBhbnksIGNhY2hlID0gdHJ1ZSk6IGFueSB7XG4gICAgY29uc3QgaWQgPSBkYXRhLnVzZXI/LmlkID8/IGRhdGEuaWQ7XG4gICAgY29uc3QgZXhpc3RpbmcgPSB0aGlzLmNhY2hlLmdldChpZCk7XG4gICAgXG4gICAgaWYgKGV4aXN0aW5nKSB7XG4gICAgICBpZiAoY2FjaGUpIHtcbiAgICAgICAgT2JqZWN0LmFzc2lnbihleGlzdGluZywgZGF0YSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZXhpc3Rpbmc7XG4gICAgfVxuICAgIFxuICAgIGNvbnN0IG1lbWJlciA9IHtcbiAgICAgIGlkLFxuICAgICAgZ3VpbGRJZDogdGhpcy5ndWlsZC5pZCxcbiAgICAgIHVzZXI6IGRhdGEudXNlcixcbiAgICAgIG5pY2s6IGRhdGEubmljayxcbiAgICAgIHJvbGVzOiBkYXRhLnJvbGVzID8/IFtdLFxuICAgICAgam9pbmVkQXQ6IGRhdGEuam9pbmVkX2F0ID8gbmV3IERhdGUoZGF0YS5qb2luZWRfYXQpIDogbnVsbCxcbiAgICAgIHByZW1pdW1TaW5jZTogZGF0YS5wcmVtaXVtX3NpbmNlID8gbmV3IERhdGUoZGF0YS5wcmVtaXVtX3NpbmNlKSA6IG51bGwsXG4gICAgICBkZWFmOiBkYXRhLmRlYWYgPz8gZmFsc2UsXG4gICAgICBtdXRlOiBkYXRhLm11dGUgPz8gZmFsc2UsXG4gICAgICBwZW5kaW5nOiBkYXRhLnBlbmRpbmcgPz8gZmFsc2UsXG4gICAgICBwZXJtaXNzaW9uczogbmV3IFBlcm1pc3Npb25zKGRhdGEucGVybWlzc2lvbnMgfHwgJzAnLCB0aGlzLmd1aWxkLm93bmVySWQgPT09IGlkKSxcbiAgICAgIGNvbW11bmljYXRpb25EaXNhYmxlZFVudGlsOiBkYXRhLmNvbW11bmljYXRpb25fZGlzYWJsZWRfdW50aWwgXG4gICAgICAgID8gbmV3IERhdGUoZGF0YS5jb21tdW5pY2F0aW9uX2Rpc2FibGVkX3VudGlsKSBcbiAgICAgICAgOiBudWxsLFxuICAgICAgXG4gICAgICAvLyBIZWxwZXIgbWV0aG9kc1xuICAgICAgZ2V0IGRpc3BsYXlOYW1lKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5uaWNrID8/IHRoaXMudXNlcj8uZGlzcGxheV9uYW1lID8/IHRoaXMudXNlcj8udXNlcm5hbWUgPz8gJ1Vua25vd24nO1xuICAgICAgfSxcbiAgICAgIFxuICAgICAgdG9TdHJpbmcoKSB7XG4gICAgICAgIHJldHVybiBgPEAke3RoaXMuaWR9PmA7XG4gICAgICB9LFxuICAgIH07XG4gICAgXG4gICAgaWYgKGNhY2hlKSB7XG4gICAgICB0aGlzLmNhY2hlLnNldChpZCwgbWVtYmVyKTtcbiAgICB9XG4gICAgXG4gICAgcmV0dXJuIG1lbWJlcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaCBhIG1lbWJlciBmcm9tIHRoZSBBUElcbiAgICovXG4gIGFzeW5jIGZldGNoKGlkOiBzdHJpbmcsIG9wdGlvbnM/OiB7IGNhY2hlPzogYm9vbGVhbjsgZm9yY2U/OiBib29sZWFuIH0pOiBQcm9taXNlPGFueT4ge1xuICAgIGlmICghb3B0aW9ucz8uZm9yY2UpIHtcbiAgICAgIGNvbnN0IGV4aXN0aW5nID0gdGhpcy5jYWNoZS5nZXQoaWQpO1xuICAgICAgaWYgKGV4aXN0aW5nKSByZXR1cm4gZXhpc3Rpbmc7XG4gICAgfVxuICAgIFxuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLmNsaWVudC5yZXN0LnJlcXVlc3QoXG4gICAgICAnR0VUJyxcbiAgICAgIGAvZ3VpbGRzLyR7dGhpcy5ndWlsZC5pZH0vbWVtYmVycy8ke2lkfWBcbiAgICApO1xuICAgIFxuICAgIHJldHVybiB0aGlzLl9hZGQoZGF0YSwgb3B0aW9ucz8uY2FjaGUgPz8gdHJ1ZSk7XG4gIH1cblxuICAvKipcbiAgICogRmV0Y2ggbXVsdGlwbGUgbWVtYmVyc1xuICAgKi9cbiAgYXN5bmMgZmV0Y2hNYW55KG9wdGlvbnM/OiB7IFxuICAgIGxpbWl0PzogbnVtYmVyOyBcbiAgICBhZnRlcj86IHN0cmluZztcbiAgICBxdWVyeT86IHN0cmluZztcbiAgfSk6IFByb21pc2U8Q29sbGVjdGlvbjxzdHJpbmcsIGFueT4+IHtcbiAgICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKCk7XG4gICAgaWYgKG9wdGlvbnM/LmxpbWl0KSBwYXJhbXMuc2V0KCdsaW1pdCcsIFN0cmluZyhvcHRpb25zLmxpbWl0KSk7XG4gICAgaWYgKG9wdGlvbnM/LmFmdGVyKSBwYXJhbXMuc2V0KCdhZnRlcicsIG9wdGlvbnMuYWZ0ZXIpO1xuICAgIGlmIChvcHRpb25zPy5xdWVyeSkgcGFyYW1zLnNldCgncXVlcnknLCBvcHRpb25zLnF1ZXJ5KTtcbiAgICBcbiAgICBjb25zdCBkYXRhID0gYXdhaXQgdGhpcy5jbGllbnQucmVzdC5yZXF1ZXN0KFxuICAgICAgJ0dFVCcsXG4gICAgICBgL2d1aWxkcy8ke3RoaXMuZ3VpbGQuaWR9L21lbWJlcnM/JHtwYXJhbXN9YFxuICAgICk7XG4gICAgXG4gICAgY29uc3QgbWVtYmVycyA9IG5ldyBDb2xsZWN0aW9uPHN0cmluZywgYW55PigpO1xuICAgIGZvciAoY29uc3QgbWVtYmVyRGF0YSBvZiBkYXRhKSB7XG4gICAgICBjb25zdCBtZW1iZXIgPSB0aGlzLl9hZGQobWVtYmVyRGF0YSk7XG4gICAgICBtZW1iZXJzLnNldChtZW1iZXIuaWQsIG1lbWJlcik7XG4gICAgfVxuICAgIFxuICAgIHJldHVybiBtZW1iZXJzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlYXJjaCBmb3IgbWVtYmVycyBieSBxdWVyeVxuICAgKi9cbiAgYXN5bmMgc2VhcmNoKG9wdGlvbnM6IHsgcXVlcnk6IHN0cmluZzsgbGltaXQ/OiBudW1iZXIgfSk6IFByb21pc2U8Q29sbGVjdGlvbjxzdHJpbmcsIGFueT4+IHtcbiAgICByZXR1cm4gdGhpcy5mZXRjaE1hbnkoeyBxdWVyeTogb3B0aW9ucy5xdWVyeSwgbGltaXQ6IG9wdGlvbnMubGltaXQgPz8gMTAgfSk7XG4gIH1cblxuICAvKipcbiAgICogS2ljayBhIG1lbWJlclxuICAgKi9cbiAgYXN5bmMga2ljayhpZDogc3RyaW5nLCByZWFzb24/OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLmNsaWVudC5yZXN0LnJlcXVlc3QoXG4gICAgICAnREVMRVRFJyxcbiAgICAgIGAvZ3VpbGRzLyR7dGhpcy5ndWlsZC5pZH0vbWVtYmVycy8ke2lkfWAsXG4gICAgICByZWFzb24gPyB7IHJlYXNvbiB9IDogdW5kZWZpbmVkXG4gICAgKTtcbiAgICB0aGlzLmNhY2hlLmRlbGV0ZShpZCk7XG4gIH1cblxuICAvKipcbiAgICogQmFuIGEgbWVtYmVyXG4gICAqL1xuICBhc3luYyBiYW4oaWQ6IHN0cmluZywgb3B0aW9ucz86IHsgZGVsZXRlTWVzc2FnZURheXM/OiBudW1iZXI7IHJlYXNvbj86IHN0cmluZyB9KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5jbGllbnQucmVzdC5yZXF1ZXN0KFxuICAgICAgJ1BVVCcsXG4gICAgICBgL2d1aWxkcy8ke3RoaXMuZ3VpbGQuaWR9L2JhbnMvJHtpZH1gLFxuICAgICAge1xuICAgICAgICBkZWxldGVfbWVzc2FnZV9kYXlzOiBvcHRpb25zPy5kZWxldGVNZXNzYWdlRGF5cyxcbiAgICAgICAgcmVhc29uOiBvcHRpb25zPy5yZWFzb24sXG4gICAgICB9XG4gICAgKTtcbiAgICB0aGlzLmNhY2hlLmRlbGV0ZShpZCk7XG4gIH1cblxuICAvKipcbiAgICogVW5iYW4gYSB1c2VyXG4gICAqL1xuICBhc3luYyB1bmJhbihpZDogc3RyaW5nLCByZWFzb24/OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLmNsaWVudC5yZXN0LnJlcXVlc3QoXG4gICAgICAnREVMRVRFJyxcbiAgICAgIGAvZ3VpbGRzLyR7dGhpcy5ndWlsZC5pZH0vYmFucy8ke2lkfWAsXG4gICAgICByZWFzb24gPyB7IHJlYXNvbiB9IDogdW5kZWZpbmVkXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFZGl0IGEgbWVtYmVyXG4gICAqL1xuICBhc3luYyBlZGl0KGlkOiBzdHJpbmcsIGRhdGE6IHtcbiAgICBuaWNrPzogc3RyaW5nIHwgbnVsbDtcbiAgICByb2xlcz86IHN0cmluZ1tdO1xuICAgIG11dGU/OiBib29sZWFuO1xuICAgIGRlYWY/OiBib29sZWFuO1xuICAgIGNoYW5uZWxfaWQ/OiBzdHJpbmcgfCBudWxsO1xuICAgIGNvbW11bmljYXRpb25fZGlzYWJsZWRfdW50aWw/OiBEYXRlIHwgbnVsbDtcbiAgfSk6IFByb21pc2U8YW55PiB7XG4gICAgY29uc3QgYm9keTogYW55ID0ge307XG4gICAgaWYgKGRhdGEubmljayAhPT0gdW5kZWZpbmVkKSBib2R5Lm5pY2sgPSBkYXRhLm5pY2s7XG4gICAgaWYgKGRhdGEucm9sZXMgIT09IHVuZGVmaW5lZCkgYm9keS5yb2xlcyA9IGRhdGEucm9sZXM7XG4gICAgaWYgKGRhdGEubXV0ZSAhPT0gdW5kZWZpbmVkKSBib2R5Lm11dGUgPSBkYXRhLm11dGU7XG4gICAgaWYgKGRhdGEuZGVhZiAhPT0gdW5kZWZpbmVkKSBib2R5LmRlYWYgPSBkYXRhLmRlYWY7XG4gICAgaWYgKGRhdGEuY2hhbm5lbF9pZCAhPT0gdW5kZWZpbmVkKSBib2R5LmNoYW5uZWxfaWQgPSBkYXRhLmNoYW5uZWxfaWQ7XG4gICAgaWYgKGRhdGEuY29tbXVuaWNhdGlvbl9kaXNhYmxlZF91bnRpbCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBib2R5LmNvbW11bmljYXRpb25fZGlzYWJsZWRfdW50aWwgPSBkYXRhLmNvbW11bmljYXRpb25fZGlzYWJsZWRfdW50aWw/LnRvSVNPU3RyaW5nKCkgPz8gbnVsbDtcbiAgICB9XG4gICAgXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5jbGllbnQucmVzdC5yZXF1ZXN0KFxuICAgICAgJ1BBVENIJyxcbiAgICAgIGAvZ3VpbGRzLyR7dGhpcy5ndWlsZC5pZH0vbWVtYmVycy8ke2lkfWAsXG4gICAgICBib2R5XG4gICAgKTtcbiAgICBcbiAgICByZXR1cm4gdGhpcy5fYWRkKHJlc3VsdCk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgcm9sZSB0byBhIG1lbWJlclxuICAgKi9cbiAgYXN5bmMgYWRkUm9sZShtZW1iZXJJZDogc3RyaW5nLCByb2xlSWQ6IHN0cmluZywgcmVhc29uPzogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5jbGllbnQucmVzdC5yZXF1ZXN0KFxuICAgICAgJ1BVVCcsXG4gICAgICBgL2d1aWxkcy8ke3RoaXMuZ3VpbGQuaWR9L21lbWJlcnMvJHttZW1iZXJJZH0vcm9sZXMvJHtyb2xlSWR9YCxcbiAgICAgIHJlYXNvbiA/IHsgcmVhc29uIH0gOiB1bmRlZmluZWRcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBhIHJvbGUgZnJvbSBhIG1lbWJlclxuICAgKi9cbiAgYXN5bmMgcmVtb3ZlUm9sZShtZW1iZXJJZDogc3RyaW5nLCByb2xlSWQ6IHN0cmluZywgcmVhc29uPzogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5jbGllbnQucmVzdC5yZXF1ZXN0KFxuICAgICAgJ0RFTEVURScsXG4gICAgICBgL2d1aWxkcy8ke3RoaXMuZ3VpbGQuaWR9L21lbWJlcnMvJHttZW1iZXJJZH0vcm9sZXMvJHtyb2xlSWR9YCxcbiAgICAgIHJlYXNvbiA/IHsgcmVhc29uIH0gOiB1bmRlZmluZWRcbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEd1aWxkTWVtYmVyTWFuYWdlcjtcbiJdfQ==
@@ -1,203 +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 class RoleManager extends CachedManager {
10
- /** The guild this manager belongs to */
11
- guild;
12
- constructor(guild, iterable) {
13
- super(guild.client, Object, iterable);
14
- this.guild = guild;
15
- }
16
- /**
17
- * Get the @everyone role
18
- */
19
- get everyone() {
20
- return this.cache.get(this.guild.id) ?? null;
21
- }
22
- /**
23
- * Get the highest role
24
- */
25
- get highest() {
26
- return this.cache.reduce((prev, role) => (role.position > (prev?.position ?? -1)) ? role : prev, null);
27
- }
28
- /**
29
- * Get the bot's highest role
30
- */
31
- get botRoleFor() {
32
- return (userId) => {
33
- const member = this.guild.members?.cache.get(userId);
34
- if (!member)
35
- return null;
36
- return this.cache
37
- .filter((role) => member.roles?.includes(role.id))
38
- .sort((a, b) => b.position - a.position)
39
- .first() ?? null;
40
- };
41
- }
42
- /**
43
- * Add a role to the cache
44
- */
45
- _add(data, cache = true) {
46
- const id = data.id;
47
- const existing = this.cache.get(id);
48
- if (existing) {
49
- if (cache)
50
- Object.assign(existing, data);
51
- return existing;
52
- }
53
- const role = {
54
- id,
55
- guildId: this.guild.id,
56
- name: data.name,
57
- color: data.color ?? 0,
58
- hoist: data.hoist ?? false,
59
- position: data.position ?? 0,
60
- permissions: data.permissions ?? '0',
61
- managed: data.managed ?? false,
62
- mentionable: data.mentionable ?? false,
63
- icon: data.icon ?? null,
64
- unicodeEmoji: data.unicode_emoji ?? null,
65
- tags: data.tags ?? null,
66
- get hexColor() {
67
- return `#${this.color.toString(16).padStart(6, '0')}`;
68
- },
69
- get createdAt() {
70
- const timestamp = BigInt(this.id) >> 22n;
71
- return new Date(Number(timestamp) + 1640995200000); // Jubbio epoch
72
- },
73
- toString() {
74
- return this.id === this.guildId ? '@everyone' : `<@&${this.id}>`;
75
- },
76
- comparePositionTo(role) {
77
- return this.position - (role?.position ?? 0);
78
- },
79
- async edit(data) {
80
- return this.guild.roles.edit(this.id, data);
81
- },
82
- async delete(reason) {
83
- return this.guild.roles.delete(this.id, reason);
84
- },
85
- async setPosition(position) {
86
- return this.guild.roles.setPositions([{ role: this.id, position }]);
87
- },
88
- };
89
- if (cache)
90
- this.cache.set(id, role);
91
- return role;
92
- }
93
- /**
94
- * Fetch a role from the API
95
- */
96
- async fetch(id, options) {
97
- if (!options?.force) {
98
- const existing = this.cache.get(id);
99
- if (existing)
100
- return existing;
101
- }
102
- // Roles are fetched as part of guild, so fetch all
103
- const roles = await this.fetchAll();
104
- return roles.get(id) ?? null;
105
- }
106
- /**
107
- * Fetch all roles for the guild
108
- */
109
- async fetchAll() {
110
- const data = await this.client.rest.request('GET', `/guilds/${this.guild.id}/roles`);
111
- const roles = new Collection();
112
- for (const roleData of data) {
113
- const role = this._add(roleData);
114
- roles.set(role.id, role);
115
- }
116
- return roles;
117
- }
118
- /**
119
- * Create a new role
120
- */
121
- async create(options) {
122
- const body = {};
123
- if (options?.name)
124
- body.name = options.name;
125
- if (options?.color !== undefined) {
126
- body.color = typeof options.color === 'string'
127
- ? parseInt(options.color.replace('#', ''), 16)
128
- : options.color;
129
- }
130
- if (options?.hoist !== undefined)
131
- body.hoist = options.hoist;
132
- if (options?.permissions !== undefined)
133
- body.permissions = String(options.permissions);
134
- if (options?.mentionable !== undefined)
135
- body.mentionable = options.mentionable;
136
- if (options?.icon)
137
- body.icon = options.icon;
138
- if (options?.unicodeEmoji)
139
- body.unicode_emoji = options.unicodeEmoji;
140
- const data = await this.client.rest.request('POST', `/guilds/${this.guild.id}/roles`, body);
141
- const role = this._add(data);
142
- // Set position if specified
143
- if (options?.position !== undefined) {
144
- await this.setPositions([{ role: role.id, position: options.position }]);
145
- }
146
- return role;
147
- }
148
- /**
149
- * Delete a role
150
- */
151
- async delete(id, reason) {
152
- await this.client.rest.request('DELETE', `/guilds/${this.guild.id}/roles/${id}`, reason ? { reason } : undefined);
153
- this.cache.delete(id);
154
- }
155
- /**
156
- * Edit a role
157
- */
158
- async edit(id, data) {
159
- const body = {};
160
- if (data.name !== undefined)
161
- body.name = data.name;
162
- if (data.color !== undefined) {
163
- body.color = typeof data.color === 'string'
164
- ? parseInt(data.color.replace('#', ''), 16)
165
- : data.color;
166
- }
167
- if (data.hoist !== undefined)
168
- body.hoist = data.hoist;
169
- if (data.permissions !== undefined)
170
- body.permissions = String(data.permissions);
171
- if (data.mentionable !== undefined)
172
- body.mentionable = data.mentionable;
173
- if (data.icon !== undefined)
174
- body.icon = data.icon;
175
- if (data.unicodeEmoji !== undefined)
176
- body.unicode_emoji = data.unicodeEmoji;
177
- const result = await this.client.rest.request('PATCH', `/guilds/${this.guild.id}/roles/${id}`, body);
178
- return this._add(result);
179
- }
180
- /**
181
- * Set role positions
182
- */
183
- async setPositions(positions) {
184
- const body = positions.map(p => ({ id: p.role, position: p.position }));
185
- const data = await this.client.rest.request('PATCH', `/guilds/${this.guild.id}/roles`, body);
186
- const roles = new Collection();
187
- for (const roleData of data) {
188
- const role = this._add(roleData);
189
- roles.set(role.id, role);
190
- }
191
- return roles;
192
- }
193
- /**
194
- * Compare two roles by position
195
- */
196
- comparePositions(role1, role2) {
197
- const r1 = typeof role1 === 'string' ? this.cache.get(role1) : role1;
198
- const r2 = typeof role2 === 'string' ? this.cache.get(role2) : role2;
199
- return (r1?.position ?? 0) - (r2?.position ?? 0);
200
- }
201
- }
202
- export default RoleManager;
203
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUm9sZU1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbWFuYWdlcnMvUm9sZU1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVqRDs7R0FFRztBQUNILE1BQU0sT0FBTyxXQUFZLFNBQVEsYUFBMEI7SUFDekQsd0NBQXdDO0lBQ3hCLEtBQUssQ0FBTTtJQUUzQixZQUFZLEtBQVUsRUFBRSxRQUF3QjtRQUM5QyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxNQUFhLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQztJQUMvQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLENBQ3RDLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksRUFBRSxRQUFRLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksRUFDdEQsSUFBVyxDQUFDLENBQUM7SUFDakIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxVQUFVO1FBQ1osT0FBTyxDQUFDLE1BQWMsRUFBRSxFQUFFO1lBQ3hCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFF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QUFFLFFBQVEsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNuRCxDQUFDO0NBQ0Y7QUFFRCxlQUFlLFdBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogTWFuYWdlciBmb3Igcm9sZXMgd2l0aCBjYWNoaW5nIGFuZCBsYXp5IGxvYWRpbmdcbiAqL1xuXG5pbXBvcnQgeyBDYWNoZWRNYW5hZ2VyIH0gZnJvbSAnLi9CYXNlTWFuYWdlcic7XG5pbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi4vdXRpbHMvQ29sbGVjdGlvbic7XG5cbi8qKlxuICogTWFuYWdlcyByb2xlcyBmb3IgYSBndWlsZFxuICovXG5leHBvcnQgY2xhc3MgUm9sZU1hbmFnZXIgZXh0ZW5kcyBDYWNoZWRNYW5hZ2VyPHN0cmluZywgYW55PiB7XG4gIC8qKiBUaGUgZ3VpbGQgdGhpcyBtYW5hZ2VyIGJlbG9uZ3MgdG8gKi9cbiAgcHVibGljIHJlYWRvbmx5IGd1aWxkOiBhbnk7XG5cbiAgY29uc3RydWN0b3IoZ3VpbGQ6IGFueSwgaXRlcmFibGU/OiBJdGVyYWJsZTxhbnk+KSB7XG4gICAgc3VwZXIoZ3VpbGQuY2xpZW50LCBPYmplY3QgYXMgYW55LCBpdGVyYWJsZSk7XG4gICAgdGhpcy5ndWlsZCA9IGd1aWxkO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgQGV2ZXJ5b25lIHJvbGVcbiAgICovXG4gIGdldCBldmVyeW9uZSgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLmNhY2hlLmdldCh0aGlzLmd1aWxkLmlkKSA/PyBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgaGlnaGVzdCByb2xlXG4gICAqL1xuICBnZXQgaGlnaGVzdCgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLmNhY2hlLnJlZHVjZSgocHJldiwgcm9sZSkgPT4gXG4gICAgICAocm9sZS5wb3NpdGlvbiA+IChwcmV2Py5wb3NpdGlvbiA/PyAtMSkpID8gcm9sZSA6IHByZXZcbiAgICAsIG51bGwgYXMgYW55KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGJvdCdzIGhpZ2hlc3Qgcm9sZVxuICAgKi9cbiAgZ2V0IGJvdFJvbGVGb3IoKTogKHVzZXJJZDogc3RyaW5nKSA9PiBhbnkgfCBudWxsIHtcbiAgICByZXR1cm4gKHVzZXJJZDogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCBtZW1iZXIgPSB0aGlzLmd1aWxkLm1lbWJlcnM/LmNhY2hlLmdldCh1c2VySWQpO1xuICAgICAgaWYgKCFtZW1iZXIpIHJldHVybiBudWxsO1xuICAgICAgcmV0dXJuIHRoaXMuY2FjaGVcbiAgICAgICAgLmZpbHRlcigocm9sZTogYW55KSA9PiBtZW1iZXIucm9sZXM/LmluY2x1ZGVzKHJvbGUuaWQpKVxuICAgICAgICAuc29ydCgoYTogYW55LCBiOiBhbnkpID0+IGIucG9zaXRpb24gLSBhLnBvc2l0aW9uKVxuICAgICAgICAuZmlyc3QoKSA/PyBudWxsO1xuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgcm9sZSB0byB0aGUgY2FjaGVcbiAgICovXG4gIF9hZGQoZGF0YTogYW55LCBjYWNoZSA9IHRydWUpOiBhbnkge1xuICAgIGNvbnN0IGlkID0gZGF0YS5pZDtcbiAgICBjb25zdCBleGlzdGluZyA9IHRoaXMuY2FjaGUuZ2V0KGlkKTtcbiAgICBcbiAgICBpZiAoZXhpc3RpbmcpIHtcbiAgICAgIGlmIChjYWNoZSkgT2JqZWN0LmFzc2lnbihleGlzdGluZywgZGF0YSk7XG4gICAgICByZXR1cm4gZXhpc3Rpbmc7XG4gICAgfVxuICAgIFxuICAgIGNvbnN0IHJvbGUgPSB7XG4gICAgICBpZCxcbiAgICAgIGd1aWxkSWQ6IHRoaXMuZ3VpbGQuaWQsXG4gICAgICBuYW1lOiBkYXRhLm5hbWUsXG4gICAgICBjb2xvcjogZGF0YS5jb2xvciA/PyAwLFxuICAgICAgaG9pc3Q6IGRhdGEuaG9pc3QgPz8gZmFsc2UsXG4gICAgICBwb3NpdGlvbjogZGF0YS5wb3NpdGlvbiA/PyAwLFxuICAgICAgcGVybWlzc2lvbnM6IGRhdGEucGVybWlzc2lvbnMgPz8gJzAnLFxuICAgICAgbWFuYWdlZDogZGF0YS5tYW5hZ2VkID8/IGZhbHNlLFxuICAgICAgbWVudGlvbmFibGU6IGRhdGEubWVudGlvbmFibGUgPz8gZmFsc2UsXG4gICAgICBpY29uOiBkYXRhLmljb24gPz8gbnVsbCxcbiAgICAgIHVuaWNvZGVFbW9qaTogZGF0YS51bmljb2RlX2Vtb2ppID8/IG51bGwsXG4gICAgICB0YWdzOiBkYXRhLnRhZ3MgPz8gbnVsbCxcbiAgICAgIFxuICAgICAgZ2V0IGhleENvbG9yKCkge1xuICAgICAgICByZXR1cm4gYCMke3RoaXMuY29sb3IudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDYsICcwJyl9YDtcbiAgICAgIH0sXG4gICAgICBcbiAgICAgIGdldCBjcmVhdGVkQXQoKSB7XG4gICAgICAgIGNvbnN0IHRpbWVzdGFtcCA9IEJpZ0ludCh0aGlzLmlkKSA+PiAyMm47XG4gICAgICAgIHJldHVybiBuZXcgRGF0ZShOdW1iZXIodGltZXN0YW1wKSArIDE2NDA5OTUyMDAwMDApOyAvLyBKdWJiaW8gZXBvY2hcbiAgICAgIH0sXG4gICAgICBcbiAgICAgIHRvU3RyaW5nKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5pZCA9PT0gdGhpcy5ndWlsZElkID8gJ0BldmVyeW9uZScgOiBgPEAmJHt0aGlzLmlkfT5gO1xuICAgICAgfSxcbiAgICAgIFxuICAgICAgY29tcGFyZVBvc2l0aW9uVG8ocm9sZTogYW55KSB7XG4gICAgICAgIHJldHVybiB0aGlzLnBvc2l0aW9uIC0gKHJvbGU/LnBvc2l0aW9uID8/IDApO1xuICAgICAgfSxcbiAgICAgIFxuICAgICAgYXN5bmMgZWRpdChkYXRhOiBhbnkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ3VpbGQucm9sZXMuZWRpdCh0aGlzLmlkLCBkYXRhKTtcbiAgICAgIH0sXG4gICAgICBcbiAgICAgIGFzeW5jIGRlbGV0ZShyZWFzb24/OiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ3VpbGQucm9sZXMuZGVsZXRlKHRoaXMuaWQsIHJlYXNvbik7XG4gICAgICB9LFxuICAgICAgXG4gICAgICBhc3luYyBzZXRQb3NpdGlvbihwb3NpdGlvbjogbnVtYmVyKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmd1aWxkLnJvbGVzLnNldFBvc2l0aW9ucyhbeyByb2xlOiB0aGlzLmlkLCBwb3NpdGlvbiB9XSk7XG4gICAgICB9LFxuICAgIH07XG4gICAgXG4gICAgaWYgKGNhY2hlKSB0aGlzLmNhY2hlLnNldChpZCwgcm9sZSk7XG4gICAgcmV0dXJuIHJvbGU7XG4gIH1cblxuICAvKipcbiAgICogRmV0Y2ggYSByb2xlIGZyb20gdGhlIEFQSVxuICAgKi9cbiAgYXN5bmMgZmV0Y2goaWQ6IHN0cmluZywgb3B0aW9ucz86IHsgY2FjaGU/OiBib29sZWFuOyBmb3JjZT86IGJvb2xlYW4gfSk6IFByb21pc2U8YW55PiB7XG4gICAgaWYgKCFvcHRpb25zPy5mb3JjZSkge1xuICAgICAgY29uc3QgZXhpc3RpbmcgPSB0aGlzLmNhY2hlLmdldChpZCk7XG4gICAgICBpZiAoZXhpc3RpbmcpIHJldHVybiBleGlzdGluZztcbiAgICB9XG4gICAgXG4gICAgLy8gUm9sZXMgYXJlIGZldGNoZWQgYXMgcGFydCBvZiBndWlsZCwgc28gZmV0Y2ggYWxsXG4gICAgY29uc3Qgcm9sZXMgPSBhd2FpdCB0aGlzLmZldGNoQWxsKCk7XG4gICAgcmV0dXJuIHJvbGVzLmdldChpZCkgPz8gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaCBhbGwgcm9sZXMgZm9yIHRoZSBndWlsZFxuICAgKi9cbiAgYXN5bmMgZmV0Y2hBbGwoKTogUHJvbWlzZTxDb2xsZWN0aW9uPHN0cmluZywgYW55Pj4ge1xuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLmNsaWVudC5yZXN0LnJlcXVlc3QoJ0dFVCcsIGAvZ3VpbGRzLyR7dGhpcy5ndWlsZC5pZH0vcm9sZXNgKTtcbiAgICBjb25zdCByb2xlcyA9IG5ldyBDb2xsZWN0aW9uPHN0cmluZywgYW55PigpO1xuICAgIGZvciAoY29uc3Qgcm9sZURhdGEgb2YgZGF0YSkge1xuICAgICAgY29uc3Qgcm9sZSA9IHRoaXMuX2FkZChyb2xlRGF0YSk7XG4gICAgICByb2xlcy5zZXQocm9sZS5pZCwgcm9sZSk7XG4gICAgfVxuICAgIHJldHVybiByb2xlcztcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBuZXcgcm9sZVxuICAgKi9cbiAgYXN5bmMgY3JlYXRlKG9wdGlvbnM/OiB7XG4gICAgbmFtZT86IHN0cmluZztcbiAgICBjb2xvcj86IG51bWJlciB8IHN0cmluZztcbiAgICBob2lzdD86IGJvb2xlYW47XG4gICAgcG9zaXRpb24/OiBudW1iZXI7XG4gICAgcGVybWlzc2lvbnM/OiBzdHJpbmcgfCBiaWdpbnQ7XG4gICAgbWVudGlvbmFibGU/OiBib29sZWFuO1xuICAgIGljb24/OiBzdHJpbmc7XG4gICAgdW5pY29kZUVtb2ppPzogc3RyaW5nO1xuICAgIHJlYXNvbj86IHN0cmluZztcbiAgfSk6IFByb21pc2U8YW55PiB7XG4gICAgY29uc3QgYm9keTogYW55ID0ge307XG4gICAgaWYgKG9wdGlvbnM/Lm5hbWUpIGJvZHkubmFtZSA9IG9wdGlvbnMubmFtZTtcbiAgICBpZiAob3B0aW9ucz8uY29sb3IgIT09IHVuZGVmaW5lZCkge1xuICAgICAgYm9keS5jb2xvciA9IHR5cGVvZiBvcHRpb25zLmNvbG9yID09PSAnc3RyaW5nJyBcbiAgICAgICAgPyBwYXJzZUludChvcHRpb25zLmNvbG9yLnJlcGxhY2UoJyMnLCAnJyksIDE2KSBcbiAgICAgICAgOiBvcHRpb25zLmNvbG9yO1xuICAgIH1cbiAgICBpZiAob3B0aW9ucz8uaG9pc3QgIT09IHVuZGVmaW5lZCkgYm9keS5ob2lzdCA9IG9wdGlvbnMuaG9pc3Q7XG4gICAgaWYgKG9wdGlvbnM/LnBlcm1pc3Npb25zICE9PSB1bmRlZmluZWQpIGJvZHkucGVybWlzc2lvbnMgPSBTdHJpbmcob3B0aW9ucy5wZXJtaXNzaW9ucyk7XG4gICAgaWYgKG9wdGlvbnM/Lm1lbnRpb25hYmxlICE9PSB1bmRlZmluZWQpIGJvZHkubWVudGlvbmFibGUgPSBvcHRpb25zLm1lbnRpb25hYmxlO1xuICAgIGlmIChvcHRpb25zPy5pY29uKSBib2R5Lmljb24gPSBvcHRpb25zLmljb247XG4gICAgaWYgKG9wdGlvbnM/LnVuaWNvZGVFbW9qaSkgYm9keS51bmljb2RlX2Vtb2ppID0gb3B0aW9ucy51bmljb2RlRW1vamk7XG4gICAgXG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHRoaXMuY2xpZW50LnJlc3QucmVxdWVzdCgnUE9TVCcsIGAvZ3VpbGRzLyR7dGhpcy5ndWlsZC5pZH0vcm9sZXNgLCBib2R5KTtcbiAgICBjb25zdCByb2xlID0gdGhpcy5fYWRkKGRhdGEpO1xuICAgIFxuICAgIC8vIFNldCBwb3NpdGlvbiBpZiBzcGVjaWZpZWRcbiAgICBpZiAob3B0aW9ucz8ucG9zaXRpb24gIT09IHVuZGVmaW5lZCkge1xuICAgICAgYXdhaXQgdGhpcy5zZXRQb3NpdGlvbnMoW3sgcm9sZTogcm9sZS5pZCwgcG9zaXRpb246IG9wdGlvbnMucG9zaXRpb24gfV0pO1xuICAgIH1cbiAgICBcbiAgICByZXR1cm4gcm9sZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWxldGUgYSByb2xlXG4gICAqL1xuICBhc3luYyBkZWxldGUoaWQ6IHN0cmluZywgcmVhc29uPzogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5jbGllbnQucmVzdC5yZXF1ZXN0KCdERUxFVEUnLCBgL2d1aWxkcy8ke3RoaXMuZ3VpbGQuaWR9L3JvbGVzLyR7aWR9YCwgXG4gICAgICByZWFzb24gPyB7IHJlYXNvbiB9IDogdW5kZWZpbmVkXG4gICAgKTtcbiAgICB0aGlzLmNhY2hlLmRlbGV0ZShpZCk7XG4gIH1cblxuICAvKipcbiAgICogRWRpdCBhIHJvbGVcbiAgICovXG4gIGFzeW5jIGVkaXQoaWQ6IHN0cmluZywgZGF0YToge1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgY29sb3I/OiBudW1iZXIgfCBzdHJpbmc7XG4gICAgaG9pc3Q/OiBib29sZWFuO1xuICAgIHBvc2l0aW9uPzogbnVtYmVyO1xuICAgIHBlcm1pc3Npb25zPzogc3RyaW5nIHwgYmlnaW50O1xuICAgIG1lbnRpb25hYmxlPzogYm9vbGVhbjtcbiAgICBpY29uPzogc3RyaW5nIHwgbnVsbDtcbiAgICB1bmljb2RlRW1vamk/OiBzdHJpbmcgfCBudWxsO1xuICAgIHJlYXNvbj86IHN0cmluZztcbiAgfSk6IFByb21pc2U8YW55PiB7XG4gICAgY29uc3QgYm9keTogYW55ID0ge307XG4gICAgaWYgKGRhdGEubmFtZSAhPT0gdW5kZWZpbmVkKSBib2R5Lm5hbWUgPSBkYXRhLm5hbWU7XG4gICAgaWYgKGRhdGEuY29sb3IgIT09IHVuZGVmaW5lZCkge1xuICAgICAgYm9keS5jb2xvciA9IHR5cGVvZiBkYXRhLmNvbG9yID09PSAnc3RyaW5nJyBcbiAgICAgICAgPyBwYXJzZUludChkYXRhLmNvbG9yLnJlcGxhY2UoJyMnLCAnJyksIDE2KSBcbiAgICAgICAgOiBkYXRhLmNvbG9yO1xuICAgIH1cbiAgICBpZiAoZGF0YS5ob2lzdCAhPT0gdW5kZWZpbmVkKSBib2R5LmhvaXN0ID0gZGF0YS5ob2lzdDtcbiAgICBpZiAoZGF0YS5wZXJtaXNzaW9ucyAhPT0gdW5kZWZpbmVkKSBib2R5LnBlcm1pc3Npb25zID0gU3RyaW5nKGRhdGEucGVybWlzc2lvbnMpO1xuICAgIGlmIChkYXRhLm1lbnRpb25hYmxlICE9PSB1bmRlZmluZWQpIGJvZHkubWVudGlvbmFibGUgPSBkYXRhLm1lbnRpb25hYmxlO1xuICAgIGlmIChkYXRhLmljb24gIT09IHVuZGVmaW5lZCkgYm9keS5pY29uID0gZGF0YS5pY29uO1xuICAgIGlmIChkYXRhLnVuaWNvZGVFbW9qaSAhPT0gdW5kZWZpbmVkKSBib2R5LnVuaWNvZGVfZW1vamkgPSBkYXRhLnVuaWNvZGVFbW9qaTtcbiAgICBcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmNsaWVudC5yZXN0LnJlcXVlc3QoJ1BBVENIJywgYC9ndWlsZHMvJHt0aGlzLmd1aWxkLmlkfS9yb2xlcy8ke2lkfWAsIGJvZHkpO1xuICAgIHJldHVybiB0aGlzLl9hZGQocmVzdWx0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgcm9sZSBwb3NpdGlvbnNcbiAgICovXG4gIGFzeW5jIHNldFBvc2l0aW9ucyhwb3NpdGlvbnM6IEFycmF5PHsgcm9sZTogc3RyaW5nOyBwb3NpdGlvbjogbnVtYmVyIH0+KTogUHJvbWlzZTxDb2xsZWN0aW9uPHN0cmluZywgYW55Pj4ge1xuICAgIGNvbnN0IGJvZHkgPSBwb3NpdGlvbnMubWFwKHAgPT4gKHsgaWQ6IHAucm9sZSwgcG9zaXRpb246IHAucG9zaXRpb24gfSkpO1xuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLmNsaWVudC5yZXN0LnJlcXVlc3QoJ1BBVENIJywgYC9ndWlsZHMvJHt0aGlzLmd1aWxkLmlkfS9yb2xlc2AsIGJvZHkpO1xuICAgIFxuICAgIGNvbnN0IHJvbGVzID0gbmV3IENvbGxlY3Rpb248c3RyaW5nLCBhbnk+KCk7XG4gICAgZm9yIChjb25zdCByb2xlRGF0YSBvZiBkYXRhKSB7XG4gICAgICBjb25zdCByb2xlID0gdGhpcy5fYWRkKHJvbGVEYXRhKTtcbiAgICAgIHJvbGVzLnNldChyb2xlLmlkLCByb2xlKTtcbiAgICB9XG4gICAgcmV0dXJuIHJvbGVzO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbXBhcmUgdHdvIHJvbGVzIGJ5IHBvc2l0aW9uXG4gICAqL1xuICBjb21wYXJlUG9zaXRpb25zKHJvbGUxOiBzdHJpbmcgfCBhbnksIHJvbGUyOiBzdHJpbmcgfCBhbnkpOiBudW1iZXIge1xuICAgIGNvbnN0IHIxID0gdHlwZW9mIHJvbGUxID09PSAnc3RyaW5nJyA/IHRoaXMuY2FjaGUuZ2V0KHJvbGUxKSA6IHJvbGUxO1xuICAgIGNvbnN0IHIyID0gdHlwZW9mIHJvbGUyID09PSAnc3RyaW5nJyA/IHRoaXMuY2FjaGUuZ2V0KHJvbGUyKSA6IHJvbGUyO1xuICAgIHJldHVybiAocjE/LnBvc2l0aW9uID8/IDApIC0gKHIyPy5wb3NpdGlvbiA/PyAwKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBSb2xlTWFuYWdlcjtcbiJdfQ==
@@ -1,8 +0,0 @@
1
- /**
2
- * Manager exports
3
- */
4
- export * from './BaseManager';
5
- export * from './GuildMemberManager';
6
- export * from './ChannelManager';
7
- export * from './RoleManager';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbWFuYWdlcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIE1hbmFnZXIgZXhwb3J0c1xuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vQmFzZU1hbmFnZXInO1xuZXhwb3J0ICogZnJvbSAnLi9HdWlsZE1lbWJlck1hbmFnZXInO1xuZXhwb3J0ICogZnJvbSAnLi9DaGFubmVsTWFuYWdlcic7XG5leHBvcnQgKiBmcm9tICcuL1JvbGVNYW5hZ2VyJztcbiJdfQ==