@stoatx/client 0.5.0 → 0.6.0
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/index.cjs +112 -25
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +27 -3
- package/dist/index.d.ts +27 -3
- package/dist/index.js +111 -25
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -46,6 +46,7 @@ __export(index_exports, {
|
|
|
46
46
|
Emoji: () => Emoji,
|
|
47
47
|
EmojiManager: () => EmojiManager,
|
|
48
48
|
GatewayManager: () => GatewayManager,
|
|
49
|
+
GroupChannel: () => GroupChannel,
|
|
49
50
|
Member: () => Member,
|
|
50
51
|
MemberManager: () => MemberManager,
|
|
51
52
|
Message: () => Message,
|
|
@@ -112,7 +113,7 @@ var Base = class _Base {
|
|
|
112
113
|
};
|
|
113
114
|
|
|
114
115
|
// src/structures/Message.ts
|
|
115
|
-
var
|
|
116
|
+
var util3 = __toESM(require("util"), 1);
|
|
116
117
|
|
|
117
118
|
// src/structures/Attachment.ts
|
|
118
119
|
var Attachment = class extends Base {
|
|
@@ -458,6 +459,82 @@ var ReactionCollector = class extends Collector {
|
|
|
458
459
|
}
|
|
459
460
|
};
|
|
460
461
|
|
|
462
|
+
// src/structures/MessageMentions.ts
|
|
463
|
+
var import_node_util = __toESM(require("util"), 1);
|
|
464
|
+
var MessageMentions = class _MessageMentions {
|
|
465
|
+
constructor(client, message, userIds, roleIds) {
|
|
466
|
+
this.client = client;
|
|
467
|
+
this.message = message;
|
|
468
|
+
this.userIds = userIds ?? [];
|
|
469
|
+
this.roleIds = roleIds ?? [];
|
|
470
|
+
this.channelIds = message.content ? _MessageMentions.parseChannelIds(message.content) : [];
|
|
471
|
+
}
|
|
472
|
+
/** Raw user IDs from the API */
|
|
473
|
+
userIds;
|
|
474
|
+
/** Raw role IDs from the API */
|
|
475
|
+
roleIds;
|
|
476
|
+
/** Raw channel IDs parsed from message content */
|
|
477
|
+
channelIds;
|
|
478
|
+
/** Mentioned users resolved from cache */
|
|
479
|
+
get users() {
|
|
480
|
+
const col = new Collection();
|
|
481
|
+
for (const id of this.userIds) {
|
|
482
|
+
const user = this.client.users.cache.get(id);
|
|
483
|
+
if (user) col.set(id, user);
|
|
484
|
+
}
|
|
485
|
+
return col;
|
|
486
|
+
}
|
|
487
|
+
/** Mentioned members resolved from cache (only in server channels) */
|
|
488
|
+
get members() {
|
|
489
|
+
const col = new Collection();
|
|
490
|
+
const server = this.message.server;
|
|
491
|
+
if (!server) return col;
|
|
492
|
+
for (const id of this.userIds) {
|
|
493
|
+
const member = server.members.cache.get(id);
|
|
494
|
+
if (member) col.set(id, member);
|
|
495
|
+
}
|
|
496
|
+
return col;
|
|
497
|
+
}
|
|
498
|
+
/** Mentioned roles resolved from cache */
|
|
499
|
+
get roles() {
|
|
500
|
+
const col = new Collection();
|
|
501
|
+
const server = this.message.server;
|
|
502
|
+
if (!server) return col;
|
|
503
|
+
for (const id of this.roleIds) {
|
|
504
|
+
const role = server.roles.cache.get(id);
|
|
505
|
+
if (role) col.set(id, role);
|
|
506
|
+
}
|
|
507
|
+
return col;
|
|
508
|
+
}
|
|
509
|
+
/** Mentioned channels resolved from cache */
|
|
510
|
+
get channels() {
|
|
511
|
+
const col = new Collection();
|
|
512
|
+
for (const id of this.channelIds) {
|
|
513
|
+
const channel = this.client.channels.cache.get(id);
|
|
514
|
+
if (channel) col.set(id, channel);
|
|
515
|
+
}
|
|
516
|
+
return col;
|
|
517
|
+
}
|
|
518
|
+
/** Whether the given user ID is mentioned */
|
|
519
|
+
has(userId) {
|
|
520
|
+
return this.userIds.includes(userId);
|
|
521
|
+
}
|
|
522
|
+
static parseChannelIds(content) {
|
|
523
|
+
return [...content.matchAll(/<#([A-Z0-9]+)>/g)].flatMap((m) => m[1] ? [m[1]] : []);
|
|
524
|
+
}
|
|
525
|
+
[import_node_util.default.inspect.custom](depth, options, inspect12) {
|
|
526
|
+
const { client, message, ...props } = this;
|
|
527
|
+
const data = {
|
|
528
|
+
...props,
|
|
529
|
+
members: this.members,
|
|
530
|
+
channels: this.channels,
|
|
531
|
+
users: this.users,
|
|
532
|
+
roles: this.roles
|
|
533
|
+
};
|
|
534
|
+
return `${this.constructor.name} ${inspect12(data, { ...options, depth: depth ?? options.depth })}`;
|
|
535
|
+
}
|
|
536
|
+
};
|
|
537
|
+
|
|
461
538
|
// src/structures/Message.ts
|
|
462
539
|
var Message = class extends Base {
|
|
463
540
|
content = null;
|
|
@@ -470,11 +547,10 @@ var Message = class extends Base {
|
|
|
470
547
|
flags = 0;
|
|
471
548
|
interactions = null;
|
|
472
549
|
masquerade = null;
|
|
473
|
-
mentions
|
|
550
|
+
mentions;
|
|
474
551
|
pinned = false;
|
|
475
552
|
reactions = {};
|
|
476
553
|
replies = [];
|
|
477
|
-
role_mentions = [];
|
|
478
554
|
constructor(client, data) {
|
|
479
555
|
super(client, data);
|
|
480
556
|
this.authorId = data.author;
|
|
@@ -487,10 +563,9 @@ var Message = class extends Base {
|
|
|
487
563
|
this.attachments = data.attachments.map((fileData) => new Attachment(this.client, fileData));
|
|
488
564
|
}
|
|
489
565
|
if (data.masquerade !== void 0) this.masquerade = data.masquerade;
|
|
490
|
-
if (data.mentions !== void 0) this.mentions = data.mentions;
|
|
491
566
|
if (data.replies !== void 0) this.replies = data.replies;
|
|
492
|
-
if (data.role_mentions !== void 0) this.role_mentions = data.role_mentions;
|
|
493
567
|
this._patch(data);
|
|
568
|
+
this.mentions = new MessageMentions(client, this, data.mentions ?? null, data.role_mentions ?? null);
|
|
494
569
|
}
|
|
495
570
|
async reply(contentOrOptions) {
|
|
496
571
|
let channel = this.channel;
|
|
@@ -664,7 +739,7 @@ var Message = class extends Base {
|
|
|
664
739
|
}
|
|
665
740
|
}
|
|
666
741
|
// This tells Node.js exactly how to print this object in console.log()
|
|
667
|
-
[
|
|
742
|
+
[util3.inspect.custom](depth, options, inspect12) {
|
|
668
743
|
const { client, authorId, channelId, ...props } = this;
|
|
669
744
|
const data = {
|
|
670
745
|
...props,
|
|
@@ -818,6 +893,15 @@ var GatewayManager = class {
|
|
|
818
893
|
}
|
|
819
894
|
}
|
|
820
895
|
}
|
|
896
|
+
if (payload.members) {
|
|
897
|
+
for (const rawMember of payload.members) {
|
|
898
|
+
const server = this.client.servers.cache.get(rawMember._id.server);
|
|
899
|
+
const user = this.client.users.cache.get(rawMember._id.user);
|
|
900
|
+
if (server && user) {
|
|
901
|
+
server.members._add({ ...rawMember, user });
|
|
902
|
+
}
|
|
903
|
+
}
|
|
904
|
+
}
|
|
821
905
|
if (payload.emojis) {
|
|
822
906
|
for (const rawEmoji of payload.emojis) {
|
|
823
907
|
const emoji = this.client.emojis._add(rawEmoji);
|
|
@@ -1406,7 +1490,7 @@ var RESTManager = class {
|
|
|
1406
1490
|
};
|
|
1407
1491
|
|
|
1408
1492
|
// src/managers/MessageManager.ts
|
|
1409
|
-
var
|
|
1493
|
+
var util4 = __toESM(require("util"), 1);
|
|
1410
1494
|
|
|
1411
1495
|
// src/managers/BaseManager.ts
|
|
1412
1496
|
var BaseManager = class {
|
|
@@ -1671,7 +1755,7 @@ var MessageManager = class extends BaseManager {
|
|
|
1671
1755
|
const id = this.resolveId(message);
|
|
1672
1756
|
await this.client.rest.delete(`/channels/${this.channel.id}/messages/${id}/reactions`);
|
|
1673
1757
|
}
|
|
1674
|
-
[
|
|
1758
|
+
[util4.inspect.custom]() {
|
|
1675
1759
|
return this.cache;
|
|
1676
1760
|
}
|
|
1677
1761
|
};
|
|
@@ -1708,6 +1792,8 @@ var MessageCollector = class extends Collector {
|
|
|
1708
1792
|
super.handleCollect(message);
|
|
1709
1793
|
if (!this.ended && this.collected.has(message.id)) {
|
|
1710
1794
|
this.total++;
|
|
1795
|
+
}
|
|
1796
|
+
if (!this.ended) {
|
|
1711
1797
|
this.checkEnd();
|
|
1712
1798
|
}
|
|
1713
1799
|
}
|
|
@@ -2088,7 +2174,7 @@ var DMChannel = class extends BaseChannel {
|
|
|
2088
2174
|
};
|
|
2089
2175
|
|
|
2090
2176
|
// src/structures/GroupChannel.ts
|
|
2091
|
-
var
|
|
2177
|
+
var util5 = __toESM(require("util"), 1);
|
|
2092
2178
|
var GroupChannel = class extends BaseChannel {
|
|
2093
2179
|
name;
|
|
2094
2180
|
ownerId;
|
|
@@ -2148,7 +2234,7 @@ var GroupChannel = class extends BaseChannel {
|
|
|
2148
2234
|
async setDefaultPermissions(permissions) {
|
|
2149
2235
|
return await this.client.channels.setDefaultPermissions(this.id, permissions);
|
|
2150
2236
|
}
|
|
2151
|
-
[
|
|
2237
|
+
[util5.inspect.custom](_depth, options, inspect12) {
|
|
2152
2238
|
const { client, ...props } = this;
|
|
2153
2239
|
return `${this.constructor.name} ${inspect12(
|
|
2154
2240
|
{
|
|
@@ -2700,7 +2786,7 @@ var ChannelManager = class extends BaseManager {
|
|
|
2700
2786
|
};
|
|
2701
2787
|
|
|
2702
2788
|
// src/structures/Member.ts
|
|
2703
|
-
var
|
|
2789
|
+
var util6 = __toESM(require("util"), 1);
|
|
2704
2790
|
|
|
2705
2791
|
// src/managers/MemberRoleManager.ts
|
|
2706
2792
|
var MemberRoleManager = class {
|
|
@@ -2927,7 +3013,7 @@ var Member = class extends Base {
|
|
|
2927
3013
|
await server.members.kick(this.id);
|
|
2928
3014
|
}
|
|
2929
3015
|
/** @internal */
|
|
2930
|
-
[
|
|
3016
|
+
[util6.inspect.custom](depth, options, inspect12) {
|
|
2931
3017
|
const { client, serverId, ...props } = this;
|
|
2932
3018
|
return `${this.constructor.name} ${inspect12(
|
|
2933
3019
|
{
|
|
@@ -2941,7 +3027,7 @@ var Member = class extends Base {
|
|
|
2941
3027
|
};
|
|
2942
3028
|
|
|
2943
3029
|
// src/managers/MemberManager.ts
|
|
2944
|
-
var
|
|
3030
|
+
var util7 = __toESM(require("util"), 1);
|
|
2945
3031
|
var MemberManager = class extends BaseManager {
|
|
2946
3032
|
constructor(client, server, limit = Infinity) {
|
|
2947
3033
|
super(client, limit);
|
|
@@ -3111,13 +3197,13 @@ var MemberManager = class extends BaseManager {
|
|
|
3111
3197
|
const id = this.resolveId(member);
|
|
3112
3198
|
await this.client.rest.delete(`/servers/${this.server.id}/bans/${id}`);
|
|
3113
3199
|
}
|
|
3114
|
-
[
|
|
3200
|
+
[util7.inspect.custom]() {
|
|
3115
3201
|
return this.cache;
|
|
3116
3202
|
}
|
|
3117
3203
|
};
|
|
3118
3204
|
|
|
3119
3205
|
// src/managers/ServerChannelManager.ts
|
|
3120
|
-
var
|
|
3206
|
+
var util8 = __toESM(require("util"), 1);
|
|
3121
3207
|
var ServerChannelManager = class {
|
|
3122
3208
|
client;
|
|
3123
3209
|
server;
|
|
@@ -3153,13 +3239,13 @@ var ServerChannelManager = class {
|
|
|
3153
3239
|
const data = await this.client.rest.post(`/servers/${this.server.id}/channels`, payload);
|
|
3154
3240
|
return this.client.channels._add(data);
|
|
3155
3241
|
}
|
|
3156
|
-
[
|
|
3242
|
+
[util8.inspect.custom]() {
|
|
3157
3243
|
return this.cache;
|
|
3158
3244
|
}
|
|
3159
3245
|
};
|
|
3160
3246
|
|
|
3161
3247
|
// src/structures/Role.ts
|
|
3162
|
-
var
|
|
3248
|
+
var util9 = __toESM(require("util"), 1);
|
|
3163
3249
|
var Role = class extends Base {
|
|
3164
3250
|
serverId;
|
|
3165
3251
|
name;
|
|
@@ -3369,14 +3455,14 @@ var Role = class extends Base {
|
|
|
3369
3455
|
* Hides the cyclic client reference and raw serverId for a cleaner output.
|
|
3370
3456
|
* @internal
|
|
3371
3457
|
*/
|
|
3372
|
-
[
|
|
3458
|
+
[util9.inspect.custom]() {
|
|
3373
3459
|
const { client, serverId, ...props } = this;
|
|
3374
|
-
return `${this.constructor.name} ${
|
|
3460
|
+
return `${this.constructor.name} ${util9.inspect(props)}`;
|
|
3375
3461
|
}
|
|
3376
3462
|
};
|
|
3377
3463
|
|
|
3378
3464
|
// src/managers/RoleManager.ts
|
|
3379
|
-
var
|
|
3465
|
+
var util10 = __toESM(require("util"), 1);
|
|
3380
3466
|
var RoleManager = class extends BaseManager {
|
|
3381
3467
|
/**
|
|
3382
3468
|
* Manages API methods and caching for server roles.
|
|
@@ -3415,7 +3501,7 @@ var RoleManager = class extends BaseManager {
|
|
|
3415
3501
|
this.cache.set(role.id, role);
|
|
3416
3502
|
return role;
|
|
3417
3503
|
}
|
|
3418
|
-
[
|
|
3504
|
+
[util10.inspect.custom]() {
|
|
3419
3505
|
return this.cache;
|
|
3420
3506
|
}
|
|
3421
3507
|
/**
|
|
@@ -3747,7 +3833,7 @@ var Emoji = class extends Base {
|
|
|
3747
3833
|
};
|
|
3748
3834
|
|
|
3749
3835
|
// src/managers/EmojiManager.ts
|
|
3750
|
-
var
|
|
3836
|
+
var util11 = __toESM(require("util"), 1);
|
|
3751
3837
|
var EmojiManager = class extends BaseManager {
|
|
3752
3838
|
constructor(client, server, limit = Infinity) {
|
|
3753
3839
|
super(client, limit);
|
|
@@ -3769,7 +3855,7 @@ var EmojiManager = class extends BaseManager {
|
|
|
3769
3855
|
const data = await this.client.rest.get(`/custom/emoji/${id}`);
|
|
3770
3856
|
return this._add(data);
|
|
3771
3857
|
}
|
|
3772
|
-
[
|
|
3858
|
+
[util11.inspect.custom]() {
|
|
3773
3859
|
return this.cache;
|
|
3774
3860
|
}
|
|
3775
3861
|
};
|
|
@@ -3873,7 +3959,7 @@ var Server = class extends Base {
|
|
|
3873
3959
|
};
|
|
3874
3960
|
|
|
3875
3961
|
// src/managers/ServerManager.ts
|
|
3876
|
-
var
|
|
3962
|
+
var util12 = __toESM(require("util"), 1);
|
|
3877
3963
|
var ServerManager = class extends BaseManager {
|
|
3878
3964
|
constructor(client, limit = Infinity) {
|
|
3879
3965
|
super(client, limit);
|
|
@@ -3944,7 +4030,7 @@ var ServerManager = class extends BaseManager {
|
|
|
3944
4030
|
const data = await this.client.rest.patch(`/servers/${serverId}`, payload);
|
|
3945
4031
|
return this._add(data);
|
|
3946
4032
|
}
|
|
3947
|
-
[
|
|
4033
|
+
[util12.inspect.custom]() {
|
|
3948
4034
|
return this.cache;
|
|
3949
4035
|
}
|
|
3950
4036
|
};
|
|
@@ -4274,6 +4360,7 @@ var API = __toESM(require("stoat-api"), 1);
|
|
|
4274
4360
|
Emoji,
|
|
4275
4361
|
EmojiManager,
|
|
4276
4362
|
GatewayManager,
|
|
4363
|
+
GroupChannel,
|
|
4277
4364
|
Member,
|
|
4278
4365
|
MemberManager,
|
|
4279
4366
|
Message,
|