@stoatx/client 0.1.0 → 0.2.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/LICENSE +21 -674
- package/README.md +3 -3
- package/dist/index.cjs +231 -41
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +142 -17
- package/dist/index.d.ts +142 -17
- package/dist/index.js +230 -41
- package/dist/index.js.map +1 -0
- package/package.json +7 -11
- package/dist/.tsbuildinfo +0 -1
package/dist/index.d.cts
CHANGED
|
@@ -18,6 +18,18 @@ declare class GatewayManager {
|
|
|
18
18
|
disconnect(): void;
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
+
/**
|
|
22
|
+
* Custom Error class for Stoat API failures
|
|
23
|
+
*/
|
|
24
|
+
declare class StoatAPIError extends Error {
|
|
25
|
+
statusCode: number;
|
|
26
|
+
apiType: string;
|
|
27
|
+
location: string;
|
|
28
|
+
rawData: any;
|
|
29
|
+
method?: string | undefined;
|
|
30
|
+
path?: string | undefined;
|
|
31
|
+
constructor(statusCode: number, data: any, method?: string, path?: string);
|
|
32
|
+
}
|
|
21
33
|
declare class RESTManager {
|
|
22
34
|
private client;
|
|
23
35
|
private baseURL;
|
|
@@ -205,9 +217,9 @@ declare class Collection<K, V> extends Map<K, V> {
|
|
|
205
217
|
* @template Holds The type of the Structure this manager holds
|
|
206
218
|
*/
|
|
207
219
|
declare abstract class BaseManager<K, Holds> {
|
|
208
|
-
client: Client;
|
|
209
220
|
cache: Collection<K, Holds>;
|
|
210
|
-
|
|
221
|
+
protected readonly client: Client;
|
|
222
|
+
protected constructor(client: Client, limit?: number);
|
|
211
223
|
/**
|
|
212
224
|
* Defines how to extract the unique ID from a raw API payload.
|
|
213
225
|
* @internal
|
|
@@ -252,8 +264,32 @@ declare class MemberManager extends BaseManager<string, Member> {
|
|
|
252
264
|
* @internal
|
|
253
265
|
*/
|
|
254
266
|
protected construct(data: any): Member;
|
|
267
|
+
/**
|
|
268
|
+
* Resolve a string or mention to Member
|
|
269
|
+
* @param member The MemberResolvable to resolve
|
|
270
|
+
* @returns The resolved Member or undefined if not found
|
|
271
|
+
*/
|
|
255
272
|
resolve(member: MemberResolvable): Member | undefined;
|
|
273
|
+
/**
|
|
274
|
+
* Resolve a Member to their ID string.
|
|
275
|
+
* @param member The MemberResolvable to resolve
|
|
276
|
+
* @returns The resolved ID string
|
|
277
|
+
* @throws {TypeError} If the provided resolvable is invalid
|
|
278
|
+
*/
|
|
256
279
|
resolveId(member: MemberResolvable): string;
|
|
280
|
+
/**
|
|
281
|
+
* Fetches a member from the server, or returns the cached version if available and not forced.
|
|
282
|
+
* @param member The MemberResolvable to fetch
|
|
283
|
+
* @param force Whether to bypass the cache and fetch fresh data from the API
|
|
284
|
+
* @returns A promise that resolves to the fetched Member
|
|
285
|
+
* @throws {Error} If the API request fails or the member is not found
|
|
286
|
+
* @example
|
|
287
|
+
* // Fetch a member by ID, using cache if available
|
|
288
|
+
* const member = await server.members.fetch("1234567890");
|
|
289
|
+
*
|
|
290
|
+
* // Fetch a member by mention, bypassing cache
|
|
291
|
+
* const member = await server.members.fetch("<@1234567890>", true);
|
|
292
|
+
*/
|
|
257
293
|
fetch(member: MemberResolvable, force?: boolean): Promise<Member>;
|
|
258
294
|
/**
|
|
259
295
|
* Fetches multiple members from the server.
|
|
@@ -272,24 +308,50 @@ declare class MemberManager extends BaseManager<string, Member> {
|
|
|
272
308
|
* Edits a member in the server.
|
|
273
309
|
* @param member The MemberResolvable to edit.
|
|
274
310
|
* @param options The fields to update (nickname, roles, timeout, etc.).
|
|
311
|
+
* @returns A promise that resolves to the updated Member.
|
|
312
|
+
* @throws {Error} If the API request fails or the member is not found.
|
|
313
|
+
* @example
|
|
314
|
+
* // Change a member's nickname and add a role
|
|
315
|
+
* const updatedMember = await server.members.edit("1234567890", {
|
|
316
|
+
* nickname: "New Nickname",
|
|
317
|
+
* roles: ["roleId1", "roleId2"],
|
|
318
|
+
* });
|
|
275
319
|
*/
|
|
276
320
|
edit(member: MemberResolvable, options: MemberEditOptions): Promise<Member>;
|
|
277
321
|
/**
|
|
278
322
|
* Kicks a member from the server.
|
|
279
323
|
* @param member The MemberResolvable to kick.
|
|
324
|
+
* @example
|
|
325
|
+
* // Kick a member by ID
|
|
326
|
+
* await server.members.kick("1234567890");
|
|
280
327
|
*/
|
|
281
328
|
kick(member: MemberResolvable): Promise<void>;
|
|
282
329
|
/**
|
|
283
330
|
* Bans a member from the server.
|
|
284
331
|
* @param member The MemberResolvable to ban.
|
|
285
332
|
* @param options The ban options
|
|
333
|
+
* @example
|
|
334
|
+
* // Ban a member by ID
|
|
335
|
+
* await server.members.ban("1234567890", { reason: "Spamming", deleteMessageSeconds: 3600 });
|
|
286
336
|
*/
|
|
287
337
|
ban(member: MemberResolvable, options?: MemberBanOptions): Promise<void>;
|
|
288
338
|
/**
|
|
289
339
|
* Unbans a user from the server
|
|
290
340
|
* @param member The MemberResolvable to unban
|
|
341
|
+
* @example
|
|
342
|
+
* // Unban a member by ID
|
|
343
|
+
* await server.members.unban("1234567890");
|
|
291
344
|
*/
|
|
292
345
|
unban(member: MemberResolvable): Promise<void>;
|
|
346
|
+
/**
|
|
347
|
+
* Timeouts a member in the server for a specified duration.
|
|
348
|
+
* @param member The MemberResolvable to timeout
|
|
349
|
+
* @param duration The duration of the timeout in milliseconds
|
|
350
|
+
* @example
|
|
351
|
+
* // Timeout a member for 10 minutes
|
|
352
|
+
* await server.members.setTimeout("1234567890", 10 * 60 * 1000);
|
|
353
|
+
*/
|
|
354
|
+
setTimeout(member: MemberResolvable, duration: number): Promise<void>;
|
|
293
355
|
[util.inspect.custom](): Collection<string, Member>;
|
|
294
356
|
}
|
|
295
357
|
|
|
@@ -344,7 +406,7 @@ declare class Permissions {
|
|
|
344
406
|
|
|
345
407
|
declare class DMChannel extends BaseChannel {
|
|
346
408
|
active: boolean;
|
|
347
|
-
recipients:
|
|
409
|
+
recipients: string[];
|
|
348
410
|
lastMessageId: string | null;
|
|
349
411
|
constructor(client: any, data: any);
|
|
350
412
|
_patch(data: any): void;
|
|
@@ -848,7 +910,7 @@ declare class RoleManager extends BaseManager<string, Role> {
|
|
|
848
910
|
* console.log("Role deleted successfully.");
|
|
849
911
|
*
|
|
850
912
|
* // Delete a role using a Role object
|
|
851
|
-
* const role = await server.roles.fetch("
|
|
913
|
+
* const role = await server.roles.fetch("01JE2MM759J5D7CHJF084R7");
|
|
852
914
|
* await server.roles.delete(role);
|
|
853
915
|
* console.log("Role deleted successfully.");
|
|
854
916
|
*
|
|
@@ -1045,11 +1107,17 @@ declare class MemberRoleManager {
|
|
|
1045
1107
|
set(roles: RoleResolvable[]): Promise<Member>;
|
|
1046
1108
|
}
|
|
1047
1109
|
|
|
1110
|
+
/**
|
|
1111
|
+
* Represents a member of a server on Stoat
|
|
1112
|
+
*
|
|
1113
|
+
* @extends {Base}
|
|
1114
|
+
*/
|
|
1048
1115
|
declare class Member extends Base {
|
|
1049
1116
|
serverId: string;
|
|
1050
1117
|
nickname: string | null;
|
|
1051
|
-
avatar:
|
|
1052
|
-
|
|
1118
|
+
avatar: Attachment | null;
|
|
1119
|
+
/** @internal */
|
|
1120
|
+
private _roles;
|
|
1053
1121
|
joinedAt: Date;
|
|
1054
1122
|
timeout: Date | null;
|
|
1055
1123
|
canPublish: boolean;
|
|
@@ -1057,30 +1125,63 @@ declare class Member extends Base {
|
|
|
1057
1125
|
roles: MemberRoleManager;
|
|
1058
1126
|
constructor(client: Client, data: any);
|
|
1059
1127
|
_patch(data: any): void;
|
|
1128
|
+
/**
|
|
1129
|
+
* Get member role IDs
|
|
1130
|
+
*/
|
|
1131
|
+
get roleIds(): string[];
|
|
1060
1132
|
/** Gets the global User object for this member */
|
|
1061
1133
|
get user(): User | undefined;
|
|
1062
1134
|
/** Gets the Server object this member belongs to */
|
|
1063
1135
|
get server(): Server | undefined;
|
|
1064
|
-
/** Resolves the array of role strings into actual Role objects */
|
|
1065
|
-
get roleObjects(): Role[];
|
|
1066
1136
|
/** Calculates the member's total permissions using BigInt */
|
|
1067
1137
|
get permissions(): bigint;
|
|
1138
|
+
/** Get avatar URL for this member, or null if they don't have one.
|
|
1139
|
+
* @example
|
|
1140
|
+
* // Get a member's avatar URL
|
|
1141
|
+
* const avatarURL = member.avatarURL;
|
|
1142
|
+
* console.log(avatarURL); // https://cdn.stoat.chat/attachments/avatars/1234567890/avatar.png
|
|
1143
|
+
*/
|
|
1144
|
+
get avatarURL(): string | null;
|
|
1145
|
+
/**
|
|
1146
|
+
* Ban this member from the server.
|
|
1147
|
+
* @param options The options for this ban
|
|
1148
|
+
* @example
|
|
1149
|
+
* // Ban a member with a reason and delete their messages from the last hour
|
|
1150
|
+
* await member.ban({ reason: "Spamming", deleteMessageSeconds: 3600 });
|
|
1151
|
+
*/
|
|
1152
|
+
ban(options?: MemberBanOptions): Promise<void>;
|
|
1153
|
+
/**
|
|
1154
|
+
* Creates a DM channel between the client's user and this member.
|
|
1155
|
+
* @param force If true, forces the creation of a new DM channel even if one already exists.
|
|
1156
|
+
* @returns A promise that resolves to the created DMChannel object.
|
|
1157
|
+
* @throws {Error} If the API request fails.
|
|
1158
|
+
* @example
|
|
1159
|
+
* // Create a DM with this member
|
|
1160
|
+
* const dm = await member.createDM();
|
|
1161
|
+
* console.log(`DM channel ID: ${dm.id}`);
|
|
1162
|
+
*/
|
|
1163
|
+
createDM(force?: boolean): Promise<void>;
|
|
1164
|
+
/**
|
|
1165
|
+
* Timeout this member for a specified duration.
|
|
1166
|
+
* @param duration The duration of the timeout in milliseconds.
|
|
1167
|
+
* @example
|
|
1168
|
+
* // Timeout a member for 10 minutes (600,000 milliseconds)
|
|
1169
|
+
* await member.setTimeout(600000);
|
|
1170
|
+
*/
|
|
1171
|
+
setTimeout(duration: number): Promise<void>;
|
|
1068
1172
|
/** Checks if the member has a specific permission */
|
|
1069
1173
|
hasPermission(permission: PermissionResolvable): boolean;
|
|
1070
1174
|
/**
|
|
1071
|
-
*
|
|
1175
|
+
* Edit this member.
|
|
1176
|
+
* @param options The options to edit the member with (nickname, roles, timeout, etc.)
|
|
1177
|
+
* @returns A promise that resolves to the updated Member.
|
|
1072
1178
|
*/
|
|
1073
1179
|
edit(options: MemberEditOptions): Promise<this>;
|
|
1074
1180
|
/**
|
|
1075
|
-
*
|
|
1181
|
+
* Kick this member from the server.
|
|
1076
1182
|
*/
|
|
1077
1183
|
kick(): Promise<void>;
|
|
1078
|
-
/**
|
|
1079
|
-
* Bans this member from the server.
|
|
1080
|
-
* @param options The options for this ban
|
|
1081
|
-
*/
|
|
1082
|
-
ban(options?: MemberBanOptions): Promise<void>;
|
|
1083
|
-
unban(): Promise<void>;
|
|
1184
|
+
/** @internal */
|
|
1084
1185
|
[util.inspect.custom](depth: number, options: util.InspectOptions, inspect: typeof util.inspect): string;
|
|
1085
1186
|
}
|
|
1086
1187
|
|
|
@@ -1255,6 +1356,30 @@ declare class UserManager extends BaseManager<string, User> {
|
|
|
1255
1356
|
* await client.users.editMe({ avatar: null, displayName: null });
|
|
1256
1357
|
*/
|
|
1257
1358
|
editMe(options: UserEditOptions): Promise<User>;
|
|
1359
|
+
/**
|
|
1360
|
+
* The DM between the client's user and a user
|
|
1361
|
+
*
|
|
1362
|
+
* @param {string} userId The user id
|
|
1363
|
+
* @returns {?DMChannel}
|
|
1364
|
+
* @private
|
|
1365
|
+
*/
|
|
1366
|
+
dmChannel(userId: string): DMChannel | null;
|
|
1367
|
+
/**
|
|
1368
|
+
* Creates a DM channel between the client's user and another user.
|
|
1369
|
+
* @param user The UserResolvable to create a DM with.
|
|
1370
|
+
* @param options Additional options for DM creation.
|
|
1371
|
+
* @param options.force If true, forces the creation of a new DM channel even if one already exists.
|
|
1372
|
+
* @returns A promise that resolves to the created DMChannel object.
|
|
1373
|
+
* @throws {TypeError} If an invalid UserResolvable is provided.
|
|
1374
|
+
* @throws {Error} If the API request fails.
|
|
1375
|
+
* @example
|
|
1376
|
+
* // Create a DM with a user by ID
|
|
1377
|
+
* const dm = await client.users.createDM("1234567890");
|
|
1378
|
+
* console.log(`DM channel ID: ${dm.id}`);
|
|
1379
|
+
*/
|
|
1380
|
+
createDM(user: UserResolvable, { force }?: {
|
|
1381
|
+
force?: boolean | undefined;
|
|
1382
|
+
}): Promise<DMChannel>;
|
|
1258
1383
|
}
|
|
1259
1384
|
|
|
1260
1385
|
/**
|
|
@@ -1335,4 +1460,4 @@ declare class UnknownChannel extends BaseChannel {
|
|
|
1335
1460
|
constructor(client: Client, data: any);
|
|
1336
1461
|
}
|
|
1337
1462
|
|
|
1338
|
-
export { Attachment, type AttachmentMetadata, Base, BaseChannel, type BotInformation, type Categories, type ChannelCreateOptions, type ChannelEditOptions, ChannelManager, type ChannelResolvable, type ChannelRolePermissionOptions, ChannelType, Client, type ClientEvents, type ClientOptions, ClientUser, Collection, DMChannel, EmbedBuilder, type FetchMembersOptions, GatewayManager, type Interaction, type Masquerade, Member, type MemberBanOptions, type MemberEditOptions, MemberManager, type MemberResolvable, Message, type MessageFetchOptions, MessageManager, type MessageOptions, type MessageResolvable, PermissionFlags, type PermissionResolvable, type PermissionString, Permissions, RESTManager, type ReplyIntent, Role, type RoleCreateOptions, type RoleEditOptions, RoleManager, type RolePermissionOptions, type RoleResolvable, Server, ServerChannelManager, type ServerEditOptions, ServerManager, SweeperManager, type SweeperOptions, TextChannel, type TextEmbedData, UnknownChannel, User, type UserEditOptions, UserManager, UserPresence, type UserProfile, UserRelationship, type UserResolvable, type UserStatus };
|
|
1463
|
+
export { Attachment, type AttachmentMetadata, Base, BaseChannel, type BotInformation, type Categories, type ChannelCreateOptions, type ChannelEditOptions, ChannelManager, type ChannelResolvable, type ChannelRolePermissionOptions, ChannelType, Client, type ClientEvents, type ClientOptions, ClientUser, Collection, DMChannel, EmbedBuilder, type FetchMembersOptions, GatewayManager, type Interaction, type Masquerade, Member, type MemberBanOptions, type MemberEditOptions, MemberManager, type MemberResolvable, Message, type MessageFetchOptions, MessageManager, type MessageOptions, type MessageResolvable, PermissionFlags, type PermissionResolvable, type PermissionString, Permissions, RESTManager, type ReplyIntent, Role, type RoleCreateOptions, type RoleEditOptions, RoleManager, type RolePermissionOptions, type RoleResolvable, Server, ServerChannelManager, type ServerEditOptions, ServerManager, StoatAPIError, SweeperManager, type SweeperOptions, TextChannel, type TextEmbedData, UnknownChannel, User, type UserEditOptions, UserManager, UserPresence, type UserProfile, UserRelationship, type UserResolvable, type UserStatus };
|
package/dist/index.d.ts
CHANGED
|
@@ -18,6 +18,18 @@ declare class GatewayManager {
|
|
|
18
18
|
disconnect(): void;
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
+
/**
|
|
22
|
+
* Custom Error class for Stoat API failures
|
|
23
|
+
*/
|
|
24
|
+
declare class StoatAPIError extends Error {
|
|
25
|
+
statusCode: number;
|
|
26
|
+
apiType: string;
|
|
27
|
+
location: string;
|
|
28
|
+
rawData: any;
|
|
29
|
+
method?: string | undefined;
|
|
30
|
+
path?: string | undefined;
|
|
31
|
+
constructor(statusCode: number, data: any, method?: string, path?: string);
|
|
32
|
+
}
|
|
21
33
|
declare class RESTManager {
|
|
22
34
|
private client;
|
|
23
35
|
private baseURL;
|
|
@@ -205,9 +217,9 @@ declare class Collection<K, V> extends Map<K, V> {
|
|
|
205
217
|
* @template Holds The type of the Structure this manager holds
|
|
206
218
|
*/
|
|
207
219
|
declare abstract class BaseManager<K, Holds> {
|
|
208
|
-
client: Client;
|
|
209
220
|
cache: Collection<K, Holds>;
|
|
210
|
-
|
|
221
|
+
protected readonly client: Client;
|
|
222
|
+
protected constructor(client: Client, limit?: number);
|
|
211
223
|
/**
|
|
212
224
|
* Defines how to extract the unique ID from a raw API payload.
|
|
213
225
|
* @internal
|
|
@@ -252,8 +264,32 @@ declare class MemberManager extends BaseManager<string, Member> {
|
|
|
252
264
|
* @internal
|
|
253
265
|
*/
|
|
254
266
|
protected construct(data: any): Member;
|
|
267
|
+
/**
|
|
268
|
+
* Resolve a string or mention to Member
|
|
269
|
+
* @param member The MemberResolvable to resolve
|
|
270
|
+
* @returns The resolved Member or undefined if not found
|
|
271
|
+
*/
|
|
255
272
|
resolve(member: MemberResolvable): Member | undefined;
|
|
273
|
+
/**
|
|
274
|
+
* Resolve a Member to their ID string.
|
|
275
|
+
* @param member The MemberResolvable to resolve
|
|
276
|
+
* @returns The resolved ID string
|
|
277
|
+
* @throws {TypeError} If the provided resolvable is invalid
|
|
278
|
+
*/
|
|
256
279
|
resolveId(member: MemberResolvable): string;
|
|
280
|
+
/**
|
|
281
|
+
* Fetches a member from the server, or returns the cached version if available and not forced.
|
|
282
|
+
* @param member The MemberResolvable to fetch
|
|
283
|
+
* @param force Whether to bypass the cache and fetch fresh data from the API
|
|
284
|
+
* @returns A promise that resolves to the fetched Member
|
|
285
|
+
* @throws {Error} If the API request fails or the member is not found
|
|
286
|
+
* @example
|
|
287
|
+
* // Fetch a member by ID, using cache if available
|
|
288
|
+
* const member = await server.members.fetch("1234567890");
|
|
289
|
+
*
|
|
290
|
+
* // Fetch a member by mention, bypassing cache
|
|
291
|
+
* const member = await server.members.fetch("<@1234567890>", true);
|
|
292
|
+
*/
|
|
257
293
|
fetch(member: MemberResolvable, force?: boolean): Promise<Member>;
|
|
258
294
|
/**
|
|
259
295
|
* Fetches multiple members from the server.
|
|
@@ -272,24 +308,50 @@ declare class MemberManager extends BaseManager<string, Member> {
|
|
|
272
308
|
* Edits a member in the server.
|
|
273
309
|
* @param member The MemberResolvable to edit.
|
|
274
310
|
* @param options The fields to update (nickname, roles, timeout, etc.).
|
|
311
|
+
* @returns A promise that resolves to the updated Member.
|
|
312
|
+
* @throws {Error} If the API request fails or the member is not found.
|
|
313
|
+
* @example
|
|
314
|
+
* // Change a member's nickname and add a role
|
|
315
|
+
* const updatedMember = await server.members.edit("1234567890", {
|
|
316
|
+
* nickname: "New Nickname",
|
|
317
|
+
* roles: ["roleId1", "roleId2"],
|
|
318
|
+
* });
|
|
275
319
|
*/
|
|
276
320
|
edit(member: MemberResolvable, options: MemberEditOptions): Promise<Member>;
|
|
277
321
|
/**
|
|
278
322
|
* Kicks a member from the server.
|
|
279
323
|
* @param member The MemberResolvable to kick.
|
|
324
|
+
* @example
|
|
325
|
+
* // Kick a member by ID
|
|
326
|
+
* await server.members.kick("1234567890");
|
|
280
327
|
*/
|
|
281
328
|
kick(member: MemberResolvable): Promise<void>;
|
|
282
329
|
/**
|
|
283
330
|
* Bans a member from the server.
|
|
284
331
|
* @param member The MemberResolvable to ban.
|
|
285
332
|
* @param options The ban options
|
|
333
|
+
* @example
|
|
334
|
+
* // Ban a member by ID
|
|
335
|
+
* await server.members.ban("1234567890", { reason: "Spamming", deleteMessageSeconds: 3600 });
|
|
286
336
|
*/
|
|
287
337
|
ban(member: MemberResolvable, options?: MemberBanOptions): Promise<void>;
|
|
288
338
|
/**
|
|
289
339
|
* Unbans a user from the server
|
|
290
340
|
* @param member The MemberResolvable to unban
|
|
341
|
+
* @example
|
|
342
|
+
* // Unban a member by ID
|
|
343
|
+
* await server.members.unban("1234567890");
|
|
291
344
|
*/
|
|
292
345
|
unban(member: MemberResolvable): Promise<void>;
|
|
346
|
+
/**
|
|
347
|
+
* Timeouts a member in the server for a specified duration.
|
|
348
|
+
* @param member The MemberResolvable to timeout
|
|
349
|
+
* @param duration The duration of the timeout in milliseconds
|
|
350
|
+
* @example
|
|
351
|
+
* // Timeout a member for 10 minutes
|
|
352
|
+
* await server.members.setTimeout("1234567890", 10 * 60 * 1000);
|
|
353
|
+
*/
|
|
354
|
+
setTimeout(member: MemberResolvable, duration: number): Promise<void>;
|
|
293
355
|
[util.inspect.custom](): Collection<string, Member>;
|
|
294
356
|
}
|
|
295
357
|
|
|
@@ -344,7 +406,7 @@ declare class Permissions {
|
|
|
344
406
|
|
|
345
407
|
declare class DMChannel extends BaseChannel {
|
|
346
408
|
active: boolean;
|
|
347
|
-
recipients:
|
|
409
|
+
recipients: string[];
|
|
348
410
|
lastMessageId: string | null;
|
|
349
411
|
constructor(client: any, data: any);
|
|
350
412
|
_patch(data: any): void;
|
|
@@ -848,7 +910,7 @@ declare class RoleManager extends BaseManager<string, Role> {
|
|
|
848
910
|
* console.log("Role deleted successfully.");
|
|
849
911
|
*
|
|
850
912
|
* // Delete a role using a Role object
|
|
851
|
-
* const role = await server.roles.fetch("
|
|
913
|
+
* const role = await server.roles.fetch("01JE2MM759J5D7CHJF084R7");
|
|
852
914
|
* await server.roles.delete(role);
|
|
853
915
|
* console.log("Role deleted successfully.");
|
|
854
916
|
*
|
|
@@ -1045,11 +1107,17 @@ declare class MemberRoleManager {
|
|
|
1045
1107
|
set(roles: RoleResolvable[]): Promise<Member>;
|
|
1046
1108
|
}
|
|
1047
1109
|
|
|
1110
|
+
/**
|
|
1111
|
+
* Represents a member of a server on Stoat
|
|
1112
|
+
*
|
|
1113
|
+
* @extends {Base}
|
|
1114
|
+
*/
|
|
1048
1115
|
declare class Member extends Base {
|
|
1049
1116
|
serverId: string;
|
|
1050
1117
|
nickname: string | null;
|
|
1051
|
-
avatar:
|
|
1052
|
-
|
|
1118
|
+
avatar: Attachment | null;
|
|
1119
|
+
/** @internal */
|
|
1120
|
+
private _roles;
|
|
1053
1121
|
joinedAt: Date;
|
|
1054
1122
|
timeout: Date | null;
|
|
1055
1123
|
canPublish: boolean;
|
|
@@ -1057,30 +1125,63 @@ declare class Member extends Base {
|
|
|
1057
1125
|
roles: MemberRoleManager;
|
|
1058
1126
|
constructor(client: Client, data: any);
|
|
1059
1127
|
_patch(data: any): void;
|
|
1128
|
+
/**
|
|
1129
|
+
* Get member role IDs
|
|
1130
|
+
*/
|
|
1131
|
+
get roleIds(): string[];
|
|
1060
1132
|
/** Gets the global User object for this member */
|
|
1061
1133
|
get user(): User | undefined;
|
|
1062
1134
|
/** Gets the Server object this member belongs to */
|
|
1063
1135
|
get server(): Server | undefined;
|
|
1064
|
-
/** Resolves the array of role strings into actual Role objects */
|
|
1065
|
-
get roleObjects(): Role[];
|
|
1066
1136
|
/** Calculates the member's total permissions using BigInt */
|
|
1067
1137
|
get permissions(): bigint;
|
|
1138
|
+
/** Get avatar URL for this member, or null if they don't have one.
|
|
1139
|
+
* @example
|
|
1140
|
+
* // Get a member's avatar URL
|
|
1141
|
+
* const avatarURL = member.avatarURL;
|
|
1142
|
+
* console.log(avatarURL); // https://cdn.stoat.chat/attachments/avatars/1234567890/avatar.png
|
|
1143
|
+
*/
|
|
1144
|
+
get avatarURL(): string | null;
|
|
1145
|
+
/**
|
|
1146
|
+
* Ban this member from the server.
|
|
1147
|
+
* @param options The options for this ban
|
|
1148
|
+
* @example
|
|
1149
|
+
* // Ban a member with a reason and delete their messages from the last hour
|
|
1150
|
+
* await member.ban({ reason: "Spamming", deleteMessageSeconds: 3600 });
|
|
1151
|
+
*/
|
|
1152
|
+
ban(options?: MemberBanOptions): Promise<void>;
|
|
1153
|
+
/**
|
|
1154
|
+
* Creates a DM channel between the client's user and this member.
|
|
1155
|
+
* @param force If true, forces the creation of a new DM channel even if one already exists.
|
|
1156
|
+
* @returns A promise that resolves to the created DMChannel object.
|
|
1157
|
+
* @throws {Error} If the API request fails.
|
|
1158
|
+
* @example
|
|
1159
|
+
* // Create a DM with this member
|
|
1160
|
+
* const dm = await member.createDM();
|
|
1161
|
+
* console.log(`DM channel ID: ${dm.id}`);
|
|
1162
|
+
*/
|
|
1163
|
+
createDM(force?: boolean): Promise<void>;
|
|
1164
|
+
/**
|
|
1165
|
+
* Timeout this member for a specified duration.
|
|
1166
|
+
* @param duration The duration of the timeout in milliseconds.
|
|
1167
|
+
* @example
|
|
1168
|
+
* // Timeout a member for 10 minutes (600,000 milliseconds)
|
|
1169
|
+
* await member.setTimeout(600000);
|
|
1170
|
+
*/
|
|
1171
|
+
setTimeout(duration: number): Promise<void>;
|
|
1068
1172
|
/** Checks if the member has a specific permission */
|
|
1069
1173
|
hasPermission(permission: PermissionResolvable): boolean;
|
|
1070
1174
|
/**
|
|
1071
|
-
*
|
|
1175
|
+
* Edit this member.
|
|
1176
|
+
* @param options The options to edit the member with (nickname, roles, timeout, etc.)
|
|
1177
|
+
* @returns A promise that resolves to the updated Member.
|
|
1072
1178
|
*/
|
|
1073
1179
|
edit(options: MemberEditOptions): Promise<this>;
|
|
1074
1180
|
/**
|
|
1075
|
-
*
|
|
1181
|
+
* Kick this member from the server.
|
|
1076
1182
|
*/
|
|
1077
1183
|
kick(): Promise<void>;
|
|
1078
|
-
/**
|
|
1079
|
-
* Bans this member from the server.
|
|
1080
|
-
* @param options The options for this ban
|
|
1081
|
-
*/
|
|
1082
|
-
ban(options?: MemberBanOptions): Promise<void>;
|
|
1083
|
-
unban(): Promise<void>;
|
|
1184
|
+
/** @internal */
|
|
1084
1185
|
[util.inspect.custom](depth: number, options: util.InspectOptions, inspect: typeof util.inspect): string;
|
|
1085
1186
|
}
|
|
1086
1187
|
|
|
@@ -1255,6 +1356,30 @@ declare class UserManager extends BaseManager<string, User> {
|
|
|
1255
1356
|
* await client.users.editMe({ avatar: null, displayName: null });
|
|
1256
1357
|
*/
|
|
1257
1358
|
editMe(options: UserEditOptions): Promise<User>;
|
|
1359
|
+
/**
|
|
1360
|
+
* The DM between the client's user and a user
|
|
1361
|
+
*
|
|
1362
|
+
* @param {string} userId The user id
|
|
1363
|
+
* @returns {?DMChannel}
|
|
1364
|
+
* @private
|
|
1365
|
+
*/
|
|
1366
|
+
dmChannel(userId: string): DMChannel | null;
|
|
1367
|
+
/**
|
|
1368
|
+
* Creates a DM channel between the client's user and another user.
|
|
1369
|
+
* @param user The UserResolvable to create a DM with.
|
|
1370
|
+
* @param options Additional options for DM creation.
|
|
1371
|
+
* @param options.force If true, forces the creation of a new DM channel even if one already exists.
|
|
1372
|
+
* @returns A promise that resolves to the created DMChannel object.
|
|
1373
|
+
* @throws {TypeError} If an invalid UserResolvable is provided.
|
|
1374
|
+
* @throws {Error} If the API request fails.
|
|
1375
|
+
* @example
|
|
1376
|
+
* // Create a DM with a user by ID
|
|
1377
|
+
* const dm = await client.users.createDM("1234567890");
|
|
1378
|
+
* console.log(`DM channel ID: ${dm.id}`);
|
|
1379
|
+
*/
|
|
1380
|
+
createDM(user: UserResolvable, { force }?: {
|
|
1381
|
+
force?: boolean | undefined;
|
|
1382
|
+
}): Promise<DMChannel>;
|
|
1258
1383
|
}
|
|
1259
1384
|
|
|
1260
1385
|
/**
|
|
@@ -1335,4 +1460,4 @@ declare class UnknownChannel extends BaseChannel {
|
|
|
1335
1460
|
constructor(client: Client, data: any);
|
|
1336
1461
|
}
|
|
1337
1462
|
|
|
1338
|
-
export { Attachment, type AttachmentMetadata, Base, BaseChannel, type BotInformation, type Categories, type ChannelCreateOptions, type ChannelEditOptions, ChannelManager, type ChannelResolvable, type ChannelRolePermissionOptions, ChannelType, Client, type ClientEvents, type ClientOptions, ClientUser, Collection, DMChannel, EmbedBuilder, type FetchMembersOptions, GatewayManager, type Interaction, type Masquerade, Member, type MemberBanOptions, type MemberEditOptions, MemberManager, type MemberResolvable, Message, type MessageFetchOptions, MessageManager, type MessageOptions, type MessageResolvable, PermissionFlags, type PermissionResolvable, type PermissionString, Permissions, RESTManager, type ReplyIntent, Role, type RoleCreateOptions, type RoleEditOptions, RoleManager, type RolePermissionOptions, type RoleResolvable, Server, ServerChannelManager, type ServerEditOptions, ServerManager, SweeperManager, type SweeperOptions, TextChannel, type TextEmbedData, UnknownChannel, User, type UserEditOptions, UserManager, UserPresence, type UserProfile, UserRelationship, type UserResolvable, type UserStatus };
|
|
1463
|
+
export { Attachment, type AttachmentMetadata, Base, BaseChannel, type BotInformation, type Categories, type ChannelCreateOptions, type ChannelEditOptions, ChannelManager, type ChannelResolvable, type ChannelRolePermissionOptions, ChannelType, Client, type ClientEvents, type ClientOptions, ClientUser, Collection, DMChannel, EmbedBuilder, type FetchMembersOptions, GatewayManager, type Interaction, type Masquerade, Member, type MemberBanOptions, type MemberEditOptions, MemberManager, type MemberResolvable, Message, type MessageFetchOptions, MessageManager, type MessageOptions, type MessageResolvable, PermissionFlags, type PermissionResolvable, type PermissionString, Permissions, RESTManager, type ReplyIntent, Role, type RoleCreateOptions, type RoleEditOptions, RoleManager, type RolePermissionOptions, type RoleResolvable, Server, ServerChannelManager, type ServerEditOptions, ServerManager, StoatAPIError, SweeperManager, type SweeperOptions, TextChannel, type TextEmbedData, UnknownChannel, User, type UserEditOptions, UserManager, UserPresence, type UserProfile, UserRelationship, type UserResolvable, type UserStatus };
|