revbot.js 0.0.1 → 0.0.2
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/baseClient.js +66 -0
- package/dist/client/baseClient.js.map +1 -0
- package/dist/client/client.js +120 -0
- package/dist/client/client.js.map +1 -0
- package/dist/client/events/bulkMessageDelete.js +22 -0
- package/dist/client/events/bulkMessageDelete.js.map +1 -0
- package/dist/client/events/channelCreate.js +42 -0
- package/dist/client/events/channelCreate.js.map +1 -0
- package/dist/client/events/channelDelete.js +30 -0
- package/dist/client/events/channelDelete.js.map +1 -0
- package/dist/client/events/channelGroupJoin.js +39 -0
- package/dist/client/events/channelGroupJoin.js.map +1 -0
- package/dist/client/events/channelGroupLeave.js +39 -0
- package/dist/client/events/channelGroupLeave.js.map +1 -0
- package/dist/client/events/channelStarttyping.js +27 -0
- package/dist/client/events/channelStarttyping.js.map +1 -0
- package/dist/client/events/channelStopTyping.js +27 -0
- package/dist/client/events/channelStopTyping.js.map +1 -0
- package/dist/client/events/channelUpdate.js +26 -0
- package/dist/client/events/channelUpdate.js.map +1 -0
- package/dist/client/events/event.js +21 -0
- package/dist/client/events/event.js.map +1 -0
- package/dist/client/events/eventManager.js +82 -0
- package/dist/client/events/eventManager.js.map +1 -0
- package/dist/client/events/index.js +39 -0
- package/dist/client/events/index.js.map +1 -0
- package/dist/client/events/message.js +43 -0
- package/dist/client/events/message.js.map +1 -0
- package/dist/client/events/messageDelete.js +31 -0
- package/dist/client/events/messageDelete.js.map +1 -0
- package/dist/client/events/messageReact.js +47 -0
- package/dist/client/events/messageReact.js.map +1 -0
- package/dist/client/events/messageUnreact.js +52 -0
- package/dist/client/events/messageUnreact.js.map +1 -0
- package/dist/client/events/messageUpdate.js +29 -0
- package/dist/client/events/messageUpdate.js.map +1 -0
- package/dist/client/events/serverCreate.js +37 -0
- package/dist/client/events/serverCreate.js.map +1 -0
- package/dist/client/events/serverDelete.js +27 -0
- package/dist/client/events/serverDelete.js.map +1 -0
- package/dist/client/events/serverMemberJoin.js +41 -0
- package/dist/client/events/serverMemberJoin.js.map +1 -0
- package/dist/client/events/serverMemberLeave.js +31 -0
- package/dist/client/events/serverMemberLeave.js.map +1 -0
- package/dist/client/events/serverMemberUpdate.js +45 -0
- package/dist/client/events/serverMemberUpdate.js.map +1 -0
- package/dist/client/events/serverRoleDelete.js +31 -0
- package/dist/client/events/serverRoleDelete.js.map +1 -0
- package/dist/client/events/serverRoleUpdate.js +29 -0
- package/dist/client/events/serverRoleUpdate.js.map +1 -0
- package/dist/client/events/serverupdate.js +26 -0
- package/dist/client/events/serverupdate.js.map +1 -0
- package/dist/client/events/userUpdate.js +28 -0
- package/dist/client/events/userUpdate.js.map +1 -0
- package/dist/client/webSocket.js +285 -0
- package/dist/client/webSocket.js.map +1 -0
- package/dist/index.js +22 -4061
- package/dist/index.js.map +1 -0
- package/dist/managers/baseManager.js +44 -0
- package/dist/managers/baseManager.js.map +1 -0
- package/dist/managers/channelManager.js +113 -0
- package/dist/managers/channelManager.js.map +1 -0
- package/dist/managers/index.js +25 -0
- package/dist/managers/index.js.map +1 -0
- package/dist/managers/messageManager.js +218 -0
- package/dist/managers/messageManager.js.map +1 -0
- package/dist/managers/roleManager.js +52 -0
- package/dist/managers/roleManager.js.map +1 -0
- package/dist/managers/serverChannelManager.js +81 -0
- package/dist/managers/serverChannelManager.js.map +1 -0
- package/dist/managers/serverManager.js +72 -0
- package/dist/managers/serverManager.js.map +1 -0
- package/dist/managers/serverMemberManager.js +128 -0
- package/dist/managers/serverMemberManager.js.map +1 -0
- package/dist/managers/userManager.js +56 -0
- package/dist/managers/userManager.js.map +1 -0
- package/dist/rest/restClient.js +113 -0
- package/dist/rest/restClient.js.map +1 -0
- package/dist/rest/restUtils/queue.js +22 -0
- package/dist/rest/restUtils/queue.js.map +1 -0
- package/dist/struct/attachment.js +42 -0
- package/dist/struct/attachment.js.map +1 -0
- package/dist/struct/base.js +88 -0
- package/dist/struct/base.js.map +1 -0
- package/dist/struct/category.js +65 -0
- package/dist/struct/category.js.map +1 -0
- package/dist/struct/channel.js +111 -0
- package/dist/struct/channel.js.map +1 -0
- package/dist/struct/clientUser.js +69 -0
- package/dist/struct/clientUser.js.map +1 -0
- package/dist/struct/dmChannel.js +87 -0
- package/dist/struct/dmChannel.js.map +1 -0
- package/dist/struct/emoji.js +49 -0
- package/dist/struct/emoji.js.map +1 -0
- package/dist/struct/groupChannel.js +203 -0
- package/dist/struct/groupChannel.js.map +1 -0
- package/dist/struct/index.js +37 -0
- package/dist/struct/index.js.map +1 -0
- package/dist/struct/interfaces/baseChannel.js +3 -0
- package/dist/struct/interfaces/baseChannel.js.map +1 -0
- package/dist/struct/invite.js +67 -0
- package/dist/struct/invite.js.map +1 -0
- package/dist/struct/mentions.js +86 -0
- package/dist/struct/mentions.js.map +1 -0
- package/dist/struct/message.js +249 -0
- package/dist/struct/message.js.map +1 -0
- package/dist/struct/messageEmbed.js +106 -0
- package/dist/struct/messageEmbed.js.map +1 -0
- package/dist/struct/notesChannel.js +92 -0
- package/dist/struct/notesChannel.js.map +1 -0
- package/dist/struct/presence.js +30 -0
- package/dist/struct/presence.js.map +1 -0
- package/dist/struct/role.js +107 -0
- package/dist/struct/role.js.map +1 -0
- package/dist/struct/server.js +164 -0
- package/dist/struct/server.js.map +1 -0
- package/dist/struct/serverChannel.js +118 -0
- package/dist/struct/serverChannel.js.map +1 -0
- package/dist/struct/serverMember.js +205 -0
- package/dist/struct/serverMember.js.map +1 -0
- package/dist/struct/textChannel.js +83 -0
- package/dist/struct/textChannel.js.map +1 -0
- package/dist/struct/user.js +172 -0
- package/dist/struct/user.js.map +1 -0
- package/dist/struct/voiceChannels.js +54 -0
- package/dist/struct/voiceChannels.js.map +1 -0
- package/dist/test.js +42 -0
- package/dist/test.js.map +1 -0
- package/dist/utils/UUID.js +53 -0
- package/dist/utils/UUID.js.map +1 -0
- package/dist/utils/badges.js +22 -0
- package/dist/utils/badges.js.map +1 -0
- package/dist/utils/bitField.js +79 -0
- package/dist/utils/bitField.js.map +1 -0
- package/dist/utils/constants.js +105 -0
- package/dist/utils/constants.js.map +1 -0
- package/dist/utils/index.js +22 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/permissions.js +68 -0
- package/dist/utils/permissions.js.map +1 -0
- package/package.json +2 -2
- package/dist/index.d.mts +0 -2430
- package/dist/index.d.ts +0 -2430
- package/dist/index.mjs +0 -3989
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.ServerMemberManager = void 0;
|
|
13
|
+
const baseManager_1 = require("./baseManager");
|
|
14
|
+
const index_1 = require("../struct/index");
|
|
15
|
+
class ServerMemberManager extends baseManager_1.BaseManager {
|
|
16
|
+
constructor(server) {
|
|
17
|
+
super(server.client);
|
|
18
|
+
this.server = server;
|
|
19
|
+
this.holds = index_1.ServerMember;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* edit selected member in the server
|
|
23
|
+
* @param member The member to edit
|
|
24
|
+
* @param options The options to edit the member with
|
|
25
|
+
* @param options.nickname The nickname of the member to set
|
|
26
|
+
* @param options.avatar The avatar of the member to set
|
|
27
|
+
* @param options.roles The roles of the member to set
|
|
28
|
+
* @returns A promise that resolves when the member is edited
|
|
29
|
+
*/
|
|
30
|
+
edit(member, options) {
|
|
31
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
32
|
+
const id = this.resolveId(member);
|
|
33
|
+
if (!id) {
|
|
34
|
+
throw new TypeError("INVALID_TYPE");
|
|
35
|
+
}
|
|
36
|
+
yield this.client.api.patch(`/servers/${this.server.id}/members/${id}`, {
|
|
37
|
+
body: Object.assign({}, options),
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* ban selected member in the server
|
|
43
|
+
* @param member The member to ban
|
|
44
|
+
* @param reason the reason for the ban
|
|
45
|
+
* @returns A promise that resolves when the member is banned
|
|
46
|
+
*/
|
|
47
|
+
ban(member, reason) {
|
|
48
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
49
|
+
const id = this.resolveId(member);
|
|
50
|
+
if (!id) {
|
|
51
|
+
throw new TypeError("INVALID_TYPE");
|
|
52
|
+
}
|
|
53
|
+
yield this.client.api.put(`/servers/${this.server.id}/bans/${id}`, {
|
|
54
|
+
body: { reason },
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* kick selected member in the server
|
|
60
|
+
* @param member The member to kick
|
|
61
|
+
* @returns A promise that resolves when the member is kicked
|
|
62
|
+
*/
|
|
63
|
+
kick(member) {
|
|
64
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
65
|
+
const id = this.resolveId(member);
|
|
66
|
+
if (!id) {
|
|
67
|
+
throw new TypeError("INVALID_TYPE");
|
|
68
|
+
}
|
|
69
|
+
yield this.client.api.delete(`/servers/${this.server.id}/members/${id}`);
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* unban selected member in the server
|
|
74
|
+
* @param member The member to unban
|
|
75
|
+
* @returns A promise that resolves when the member is unbanned
|
|
76
|
+
*/
|
|
77
|
+
unban(member) {
|
|
78
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
79
|
+
const id = this.resolveId(member);
|
|
80
|
+
if (!id) {
|
|
81
|
+
throw new TypeError("INVALID_TYPE");
|
|
82
|
+
}
|
|
83
|
+
yield this.client.api.delete(`/servers/${this.server.id}/bans/${id}`);
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
fetch(member) {
|
|
87
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
88
|
+
if (typeof member !== "undefined") {
|
|
89
|
+
const id = this.resolveId(member);
|
|
90
|
+
if (!id) {
|
|
91
|
+
throw new TypeError("INVALID_TYPE");
|
|
92
|
+
}
|
|
93
|
+
const data = yield this.client.api.get(`/servers/${this.server.id}/members/${id}`);
|
|
94
|
+
return this._add(data);
|
|
95
|
+
}
|
|
96
|
+
const { users, members } = yield this.client.api.get(`/servers/${this.server.id}/members`);
|
|
97
|
+
users.reduce((coll, cur) => {
|
|
98
|
+
const user = this.client.users._add(cur);
|
|
99
|
+
coll.set(user.id, user);
|
|
100
|
+
return coll;
|
|
101
|
+
}, this.client.users.cache);
|
|
102
|
+
return members.reduce((coll, cur) => {
|
|
103
|
+
const member = this._add(cur);
|
|
104
|
+
coll.set(member.id, member);
|
|
105
|
+
return coll;
|
|
106
|
+
}, new Map());
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* resolves a member from a string or a member object
|
|
111
|
+
* @param member The member to resolve
|
|
112
|
+
* @returns The id of the member or null if it cannot be resolved
|
|
113
|
+
*/
|
|
114
|
+
resolveId(member) {
|
|
115
|
+
if (member == null)
|
|
116
|
+
return null;
|
|
117
|
+
if (member instanceof index_1.ServerMember || member instanceof index_1.User) {
|
|
118
|
+
return member.id;
|
|
119
|
+
}
|
|
120
|
+
if (typeof member === "string")
|
|
121
|
+
return member;
|
|
122
|
+
if ("_id" in member)
|
|
123
|
+
return member._id.user;
|
|
124
|
+
return null;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
exports.ServerMemberManager = ServerMemberManager;
|
|
128
|
+
//# sourceMappingURL=serverMemberManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serverMemberManager.js","sourceRoot":"","sources":["../../src/managers/serverMemberManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.UserManager = void 0;
|
|
13
|
+
const baseManager_1 = require("./baseManager");
|
|
14
|
+
const index_1 = require("../struct/index");
|
|
15
|
+
class UserManager extends baseManager_1.BaseManager {
|
|
16
|
+
constructor() {
|
|
17
|
+
super(...arguments);
|
|
18
|
+
this.holds = index_1.User;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
*
|
|
22
|
+
* @param user The user to fetch
|
|
23
|
+
* @returns A promise that resolves when the user is fetched
|
|
24
|
+
*/
|
|
25
|
+
fetch(user_1) {
|
|
26
|
+
return __awaiter(this, arguments, void 0, function* (user, { force = false } = {}) {
|
|
27
|
+
const id = this.resolveId(user);
|
|
28
|
+
if (!id)
|
|
29
|
+
throw new TypeError("INVALID_TYPE");
|
|
30
|
+
if (!force) {
|
|
31
|
+
const user = this.cache.get(id);
|
|
32
|
+
if (user)
|
|
33
|
+
return user;
|
|
34
|
+
}
|
|
35
|
+
const data = (yield this.client.api.get(`/users/${id}`));
|
|
36
|
+
return this._add(data);
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
resolve(resolvable) {
|
|
40
|
+
if (resolvable instanceof index_1.Message)
|
|
41
|
+
return resolvable.author;
|
|
42
|
+
return super.resolve(resolvable);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* get a user id form cache
|
|
46
|
+
* @param resolvable The user to resolve
|
|
47
|
+
* @returns The user id or null if it cannot be resolved
|
|
48
|
+
*/
|
|
49
|
+
resolveId(resolvable) {
|
|
50
|
+
if (resolvable instanceof index_1.Message)
|
|
51
|
+
return resolvable.authorId;
|
|
52
|
+
return super.resolveId(resolvable);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
exports.UserManager = UserManager;
|
|
56
|
+
//# sourceMappingURL=userManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"userManager.js","sourceRoot":"","sources":["../../src/managers/userManager.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,+CAA4C;AAC5C,2CAAgD;AAIhD,MAAa,WAAY,SAAQ,yBAA0B;IAA3D;;QACE,UAAK,GAAG,YAAI,CAAC;IA2Cf,CAAC;IAzCC;;;;OAIG;IACG,KAAK;6DAAC,IAAoB,EAAE,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,EAAE;YACtD,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAEhC,IAAI,CAAC,EAAE;gBAAE,MAAM,IAAI,SAAS,CAAC,cAAc,CAAC,CAAC;YAE7C,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChC,IAAI,IAAI;oBAAE,OAAO,IAAI,CAAC;YACxB,CAAC;YAED,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,CAAY,CAAC;YAEpE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;KAAA;IASD,OAAO,CAAC,UAA6C;QACnD,IAAI,UAAU,YAAY,eAAO;YAAE,OAAO,UAAU,CAAC,MAAM,CAAC;QAC5D,OAAO,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACnC,CAAC;IAED;;;;OAIG;IACH,SAAS,CAAC,UAA0B;QAClC,IAAI,UAAU,YAAY,eAAO;YAAE,OAAO,UAAU,CAAC,QAAQ,CAAC;QAC9D,OAAO,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACrC,CAAC;CACF;AA5CD,kCA4CC"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.RestClient = void 0;
|
|
16
|
+
const axios_1 = __importDefault(require("axios"));
|
|
17
|
+
const utils_1 = require("../utils");
|
|
18
|
+
class RestClient {
|
|
19
|
+
constructor(client) {
|
|
20
|
+
this.client = client;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Helper function to handle API requests.
|
|
24
|
+
* @param method The HTTP method (GET, POST, PATCH, PUT, DELETE).
|
|
25
|
+
* @param url The URL for the request.
|
|
26
|
+
* @param body The request body (if applicable).
|
|
27
|
+
* @param query Query parameters (if applicable).
|
|
28
|
+
* @returns The API response.
|
|
29
|
+
*/
|
|
30
|
+
request(method, url, body, query) {
|
|
31
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
32
|
+
try {
|
|
33
|
+
if (!this.client.token)
|
|
34
|
+
throw new Error("Token is required");
|
|
35
|
+
const config = {
|
|
36
|
+
method,
|
|
37
|
+
url: `${utils_1.apiUrl}${url}`,
|
|
38
|
+
params: query,
|
|
39
|
+
data: body === null || body === void 0 ? void 0 : body.body,
|
|
40
|
+
headers: {
|
|
41
|
+
"X-Bot-Token": this.client.token,
|
|
42
|
+
},
|
|
43
|
+
};
|
|
44
|
+
const response = yield (0, axios_1.default)(config);
|
|
45
|
+
return response.data;
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
console.error("API call failed:", error);
|
|
49
|
+
throw error;
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* GET request.
|
|
55
|
+
* @param url The URL for the request.
|
|
56
|
+
* @param query Query parameters (if applicable).
|
|
57
|
+
* @returns The API response.
|
|
58
|
+
*/
|
|
59
|
+
get(url, query) {
|
|
60
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
61
|
+
return this.request("GET", url, undefined, query);
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* POST request.
|
|
66
|
+
* @param url The URL for the request.
|
|
67
|
+
* @param body The request body.
|
|
68
|
+
* @param query Query parameters (if applicable).
|
|
69
|
+
* @returns The API response.
|
|
70
|
+
*/
|
|
71
|
+
post(url, body, query) {
|
|
72
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
73
|
+
return this.request("POST", url, body, query);
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* PATCH request.
|
|
78
|
+
* @param url The URL for the request.
|
|
79
|
+
* @param body The request body.
|
|
80
|
+
* @param query Query parameters (if applicable).
|
|
81
|
+
* @returns The API response.
|
|
82
|
+
*/
|
|
83
|
+
patch(url, body, query) {
|
|
84
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
85
|
+
return this.request("PATCH", url, body, query);
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* PUT request.
|
|
90
|
+
* @param url The URL for the request.
|
|
91
|
+
* @param body The request body.
|
|
92
|
+
* @param query Query parameters (if applicable).
|
|
93
|
+
* @returns The API response.
|
|
94
|
+
*/
|
|
95
|
+
put(url, body, query) {
|
|
96
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
97
|
+
return this.request("PUT", url, body, query);
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* DELETE request.
|
|
102
|
+
* @param url The URL for the request.
|
|
103
|
+
* @param query Query parameters (if applicable).
|
|
104
|
+
* @returns The API response.
|
|
105
|
+
*/
|
|
106
|
+
delete(url, body, query) {
|
|
107
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
108
|
+
return this.request("DELETE", url, body, query);
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
exports.RestClient = RestClient;
|
|
113
|
+
//# sourceMappingURL=restClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"restClient.js","sourceRoot":"","sources":["../../src/rest/restClient.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kDAAiE;AAEjE,oCAAkC;AAGlC,MAAa,UAAU;IACrB,YAA6B,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;IAAG,CAAC;IAEnD;;;;;;;OAOG;IACW,OAAO,CACnB,MAAmD,EACnD,GAAW,EACX,IAAU,EACV,KAAuC;;YAEvC,IAAI,CAAC;gBACH,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK;oBAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;gBAE7D,MAAM,MAAM,GAAuB;oBACjC,MAAM;oBACN,GAAG,EAAE,GAAG,cAAM,GAAG,GAAG,EAAE;oBACtB,MAAM,EAAE,KAAK;oBACb,IAAI,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI;oBAChB,OAAO,EAAE;wBACP,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;qBACjC;iBACF,CAAC;gBAEF,MAAM,QAAQ,GAAqB,MAAM,IAAA,eAAK,EAAC,MAAM,CAAC,CAAC;gBACvD,OAAO,QAAQ,CAAC,IAAI,CAAC;YACvB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;gBACzC,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;KAAA;IAED;;;;;OAKG;IACG,GAAG,CACP,GAAW,EACX,KAAuC;;YAEvC,OAAO,IAAI,CAAC,OAAO,CAAI,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QACvD,CAAC;KAAA;IAED;;;;;;OAMG;IACG,IAAI,CACR,GAAW,EACX,IAAS,EACT,KAAuC;;YAEvC,OAAO,IAAI,CAAC,OAAO,CAAI,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QACnD,CAAC;KAAA;IAED;;;;;;OAMG;IACG,KAAK,CACT,GAAW,EACX,IAAS,EACT,KAAuC;;YAEvC,OAAO,IAAI,CAAC,OAAO,CAAI,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QACpD,CAAC;KAAA;IAED;;;;;;OAMG;IACG,GAAG,CACP,GAAW,EACX,IAAU,EACV,KAAuC;;YAEvC,OAAO,IAAI,CAAC,OAAO,CAAI,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAClD,CAAC;KAAA;IAED;;;;;OAKG;IACG,MAAM,CACV,GAAW,EACX,IAAU,EACV,KAAuC;;YAEvC,OAAO,IAAI,CAAC,OAAO,CAAI,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QACrD,CAAC;KAAA;CACF;AA7GD,gCA6GC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Queue = void 0;
|
|
4
|
+
class Queue extends Array {
|
|
5
|
+
get remaining() {
|
|
6
|
+
return this.length;
|
|
7
|
+
}
|
|
8
|
+
wait() {
|
|
9
|
+
var _a, _b;
|
|
10
|
+
const next = (_b = (_a = this[this.length - 1]) === null || _a === void 0 ? void 0 : _a.promise) !== null && _b !== void 0 ? _b : Promise.resolve();
|
|
11
|
+
let resolve;
|
|
12
|
+
const promise = new Promise((res) => (resolve = res));
|
|
13
|
+
this.push({ resolve: resolve, promise });
|
|
14
|
+
return next;
|
|
15
|
+
}
|
|
16
|
+
next() {
|
|
17
|
+
var _a;
|
|
18
|
+
(_a = this.shift()) === null || _a === void 0 ? void 0 : _a.resolve();
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.Queue = Queue;
|
|
22
|
+
//# sourceMappingURL=queue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../../../src/rest/restUtils/queue.ts"],"names":[],"mappings":";;;AAKA,MAAa,KAAM,SAAQ,KAAsB;IAC/C,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI;;QACF,MAAM,IAAI,GAAG,MAAA,MAAA,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,0CAAE,OAAO,mCAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QAEjE,IAAI,OAAmB,CAAC;QAExB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC;QAE5D,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAE1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI;;QACF,MAAA,IAAI,CAAC,KAAK,EAAE,0CAAE,OAAO,EAAE,CAAC;IAC1B,CAAC;CACF;AApBD,sBAoBC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Attachment = void 0;
|
|
4
|
+
const base_1 = require("./base");
|
|
5
|
+
/**
|
|
6
|
+
* Represents an attachment, such as a file or image, in a message or channel.
|
|
7
|
+
*
|
|
8
|
+
* @extends Base
|
|
9
|
+
*/
|
|
10
|
+
class Attachment extends base_1.Base {
|
|
11
|
+
/**
|
|
12
|
+
* Creates a new Attachment instance.
|
|
13
|
+
*
|
|
14
|
+
* @param {client} client - The client instance.
|
|
15
|
+
* @param {File} data - The raw data for the attachment from the API.
|
|
16
|
+
*/
|
|
17
|
+
constructor(client, data) {
|
|
18
|
+
super(client);
|
|
19
|
+
this._patch(data);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Updates the attachment instance with new data from the API.
|
|
23
|
+
*
|
|
24
|
+
* @param {File} data - The raw data for the attachment from the API.
|
|
25
|
+
* @returns {this} The updated attachment instance.
|
|
26
|
+
* @protected
|
|
27
|
+
*/
|
|
28
|
+
_patch(data) {
|
|
29
|
+
super._patch(data);
|
|
30
|
+
if (data.filename)
|
|
31
|
+
this.filename = data.filename;
|
|
32
|
+
if (data.content_type)
|
|
33
|
+
this.type = data.content_type;
|
|
34
|
+
if (typeof data.size === "number")
|
|
35
|
+
this.size = data.size;
|
|
36
|
+
if (data.metadata)
|
|
37
|
+
this.metadata = data.metadata;
|
|
38
|
+
return this;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.Attachment = Attachment;
|
|
42
|
+
//# sourceMappingURL=attachment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attachment.js","sourceRoot":"","sources":["../../src/struct/attachment.ts"],"names":[],"mappings":";;;AAAA,iCAA8B;AAI9B;;;;GAIG;AACH,MAAa,UAAW,SAAQ,WAAI;IAalC;;;;;OAKG;IACH,YAAY,MAAc,EAAE,IAAU;QACpC,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAED;;;;;;OAMG;IACO,MAAM,CAAC,IAAU;QACzB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnB,IAAI,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjD,IAAI,IAAI,CAAC,YAAY;YAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC;QACrD,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;YAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACzD,IAAI,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAvCD,gCAuCC"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Base = void 0;
|
|
4
|
+
const bitField_1 = require("../utils/bitField");
|
|
5
|
+
/**
|
|
6
|
+
* Represents the base structure for all objects in the client.
|
|
7
|
+
* Provides common functionality such as equality checks, cloning, and patching data.
|
|
8
|
+
*/
|
|
9
|
+
class Base {
|
|
10
|
+
/**
|
|
11
|
+
* Creates a new Base instance.
|
|
12
|
+
*
|
|
13
|
+
* @param {client} client - The client instance.
|
|
14
|
+
*/
|
|
15
|
+
constructor(client) {
|
|
16
|
+
this.client = client;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Compares this object with another to determine if they are equal.
|
|
20
|
+
*
|
|
21
|
+
* @param {this | null} [obj] - The object to compare with.
|
|
22
|
+
* @returns {boolean} `true` if the objects are equal, otherwise `false`.
|
|
23
|
+
*/
|
|
24
|
+
equals(obj) {
|
|
25
|
+
if (!obj)
|
|
26
|
+
return false;
|
|
27
|
+
for (const key in obj) {
|
|
28
|
+
const a = obj[key], b = this[key];
|
|
29
|
+
if (a instanceof Base && !a.equals(b))
|
|
30
|
+
return false;
|
|
31
|
+
if (a instanceof bitField_1.BitField &&
|
|
32
|
+
a.bitfield !== b.bitfield)
|
|
33
|
+
return false;
|
|
34
|
+
if (typeof a === "object" && a !== null)
|
|
35
|
+
continue;
|
|
36
|
+
if (a !== b)
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
return true;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Updates the object with new data and returns a clone of the object.
|
|
43
|
+
*
|
|
44
|
+
* @param {PartialObject} data - The data to update the object with.
|
|
45
|
+
* @param {string[]} [clear] - Fields to clear in the object.
|
|
46
|
+
* @returns {this} A clone of the updated object.
|
|
47
|
+
*/
|
|
48
|
+
_update(data, clear) {
|
|
49
|
+
const clone = this._clone();
|
|
50
|
+
this._patch(data, clear);
|
|
51
|
+
return clone;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Patches the object with new data.
|
|
55
|
+
*
|
|
56
|
+
* @param {PartialObject} data - The data to patch the object with.
|
|
57
|
+
* @param {string[]} [_clear] - Fields to clear in the object.
|
|
58
|
+
* @returns {this} The updated object.
|
|
59
|
+
* @protected
|
|
60
|
+
*/
|
|
61
|
+
_patch(data, _clear) {
|
|
62
|
+
if ("id" in data)
|
|
63
|
+
this.id = data.id;
|
|
64
|
+
if ("_id" in data) {
|
|
65
|
+
if (typeof data._id === "string")
|
|
66
|
+
this.id = data._id;
|
|
67
|
+
if (typeof data._id === "object")
|
|
68
|
+
this.id = data._id.user;
|
|
69
|
+
}
|
|
70
|
+
return this;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Creates a deep clone of the object.
|
|
74
|
+
*
|
|
75
|
+
* @returns {this} A clone of the object.
|
|
76
|
+
*/
|
|
77
|
+
_clone() {
|
|
78
|
+
const clone = Object.assign(Object.create(this), this);
|
|
79
|
+
for (const key in clone) {
|
|
80
|
+
const prop = clone[key];
|
|
81
|
+
if (prop instanceof Base)
|
|
82
|
+
clone[key] = prop._clone();
|
|
83
|
+
}
|
|
84
|
+
return clone;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
exports.Base = Base;
|
|
88
|
+
//# sourceMappingURL=base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/struct/base.ts"],"names":[],"mappings":";;;AACA,gDAA6C;AAM7C;;;GAGG;AACH,MAAsB,IAAI;IAIxB;;;;OAIG;IACH,YAA4B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAE9C;;;;;OAKG;IACH,MAAM,CAAC,GAAiB;QACtB,IAAI,CAAC,GAAG;YAAE,OAAO,KAAK,CAAC;QAEvB,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;YACtB,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,EAChB,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;YAChB,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAa,CAAC;gBAAE,OAAO,KAAK,CAAC;YAChE,IACE,CAAC,YAAY,mBAAQ;gBACrB,CAAC,CAAC,QAAQ,KAAM,CAAyB,CAAC,QAAQ;gBAElD,OAAO,KAAK,CAAC;YAEf,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI;gBAAE,SAAS;YAClD,IAAI,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;QAC5B,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACH,OAAO,CAAC,IAAmB,EAAE,KAAgB;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;OAOG;IACO,MAAM,CAAC,IAAmB,EAAE,MAAiB;QACrD,IAAI,IAAI,IAAI,IAAI;YAAE,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAG,CAAC;QACrC,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ;gBAAE,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;YACrD,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ;gBAAE,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;QAC5D,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,MAAM;QACJ,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;QAEvD,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,IAAI,YAAY,IAAI;gBAAE,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACvD,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAlFD,oBAkFC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Category = void 0;
|
|
4
|
+
const index_1 = require("./index");
|
|
5
|
+
/**
|
|
6
|
+
* Represents a category in a server, which groups multiple channels together.
|
|
7
|
+
*
|
|
8
|
+
* @extends Base
|
|
9
|
+
*/
|
|
10
|
+
class Category extends index_1.Base {
|
|
11
|
+
/**
|
|
12
|
+
* Creates a new Category instance.
|
|
13
|
+
*
|
|
14
|
+
* @param {Server} server - The server this category belongs to.
|
|
15
|
+
* @param {APICategory} data - The raw data for the category from the API.
|
|
16
|
+
*/
|
|
17
|
+
constructor(server, data) {
|
|
18
|
+
super(server.client);
|
|
19
|
+
this.server = server;
|
|
20
|
+
/** An array of channel IDs that belong to this category. */
|
|
21
|
+
this._children = [];
|
|
22
|
+
this._patch(data);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Updates the category instance with new data from the API.
|
|
26
|
+
*
|
|
27
|
+
* @param {APICategory} data - The raw data for the category from the API.
|
|
28
|
+
* @returns {this} The updated category instance.
|
|
29
|
+
* @protected
|
|
30
|
+
*/
|
|
31
|
+
_patch(data) {
|
|
32
|
+
super._patch(data);
|
|
33
|
+
if (data.title) {
|
|
34
|
+
this.name = data.title;
|
|
35
|
+
}
|
|
36
|
+
if (Array.isArray(data.channels)) {
|
|
37
|
+
this._children = data.channels;
|
|
38
|
+
}
|
|
39
|
+
return this;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Retrieves the channels that belong to this category.
|
|
43
|
+
*
|
|
44
|
+
* @returns {Map<string, ServerChannel>} A map of channel IDs to their corresponding `ServerChannel` instances.
|
|
45
|
+
*/
|
|
46
|
+
get children() {
|
|
47
|
+
const coll = new Map();
|
|
48
|
+
for (const childId of this._children) {
|
|
49
|
+
const child = this.server.channels.cache.get(childId);
|
|
50
|
+
if (child)
|
|
51
|
+
coll.set(child.id, child);
|
|
52
|
+
}
|
|
53
|
+
return coll;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Converts the category to a string representation.
|
|
57
|
+
*
|
|
58
|
+
* @returns {string} The name of the category.
|
|
59
|
+
*/
|
|
60
|
+
toString() {
|
|
61
|
+
return this.name;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
exports.Category = Category;
|
|
65
|
+
//# sourceMappingURL=category.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"category.js","sourceRoot":"","sources":["../../src/struct/category.ts"],"names":[],"mappings":";;;AACA,mCAAsD;AAEtD;;;;GAIG;AACH,MAAa,QAAS,SAAQ,YAAI;IAOhC;;;;;OAKG;IACH,YACkB,MAAc,EAC9B,IAAiB;QAEjB,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAHL,WAAM,GAAN,MAAM,CAAQ;QAVhC,4DAA4D;QAClD,cAAS,GAAa,EAAE,CAAC;QAajC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAED;;;;;;OAMG;IACO,MAAM,CAAC,IAAiB;QAChC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEnB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,IAAI,QAAQ;QACV,MAAM,IAAI,GAAG,IAAI,GAAG,EAAyB,CAAC;QAE9C,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACtD,IAAI,KAAK;gBAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;CACF;AAlED,4BAkEC"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Channel = void 0;
|
|
4
|
+
const base_1 = require("./base");
|
|
5
|
+
const index_1 = require("../utils/index");
|
|
6
|
+
/**
|
|
7
|
+
* Represents a generic communication channel in the client.
|
|
8
|
+
* This abstract class provides a base structure and common functionality
|
|
9
|
+
* for all types of channels, such as text, voice, group, and server channels.
|
|
10
|
+
*
|
|
11
|
+
* @abstract
|
|
12
|
+
* @extends Base
|
|
13
|
+
*
|
|
14
|
+
* @property {ChannelTypes | "UNKNOWN"} type - The type of the channel. Defaults to "UNKNOWN".
|
|
15
|
+
* @property {number} createdTimestamp - The timestamp (in milliseconds) when the channel was created.
|
|
16
|
+
* @property {Date} createdAt - The date and time when the channel was created.
|
|
17
|
+
*/
|
|
18
|
+
class Channel extends base_1.Base {
|
|
19
|
+
constructor() {
|
|
20
|
+
super(...arguments);
|
|
21
|
+
this.type = "UNKNOWN";
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Gets the timestamp (in milliseconds) when the channel was created.
|
|
25
|
+
*
|
|
26
|
+
* @returns {number} The timestamp of the channel's creation.
|
|
27
|
+
*/
|
|
28
|
+
get createdTimestamp() {
|
|
29
|
+
return this.createdAt.getTime();
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Gets the date and time when the channel was created.
|
|
33
|
+
*
|
|
34
|
+
* @returns {Date} The creation date of the channel.
|
|
35
|
+
*/
|
|
36
|
+
get createdAt() {
|
|
37
|
+
return index_1.UUID.timestampOf(this.id);
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Deletes the current channel instance from the client's channel collection.
|
|
41
|
+
*
|
|
42
|
+
* This method interacts with the client's channel management system to remove
|
|
43
|
+
* the channel. Once deleted, the channel will no longer be accessible through
|
|
44
|
+
* the client.
|
|
45
|
+
*
|
|
46
|
+
* @returns {Promise<void>} A promise that resolves when the channel has been successfully deleted.
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* ```typescript
|
|
50
|
+
* const channel = client.channels.get('1234567890');
|
|
51
|
+
* if (channel) {
|
|
52
|
+
* await channel.delete();
|
|
53
|
+
* console.log('Channel deleted successfully.');
|
|
54
|
+
* }
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
57
|
+
delete() {
|
|
58
|
+
return this.client.channels.delete(this);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Checks if the channel is a text-based channel.
|
|
62
|
+
*
|
|
63
|
+
* @returns {boolean} True if the channel is a text-based channel, otherwise false.
|
|
64
|
+
*/
|
|
65
|
+
isText() {
|
|
66
|
+
return "messages" in this;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Checks if the channel is a voice channel.
|
|
70
|
+
*
|
|
71
|
+
* @returns {boolean} True if the channel is a voice channel, otherwise false.
|
|
72
|
+
*/
|
|
73
|
+
isVoice() {
|
|
74
|
+
return this.type === index_1.ChannelTypes.VOICE;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Checks if the channel is a group channel.
|
|
78
|
+
*
|
|
79
|
+
* @returns {boolean} True if the channel is a group channel, otherwise false.
|
|
80
|
+
*/
|
|
81
|
+
isGroup() {
|
|
82
|
+
return this.type === index_1.ChannelTypes.GROUP;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Checks if the channel is part of a server.
|
|
86
|
+
*
|
|
87
|
+
* @returns {boolean} True if the channel is a server channel, otherwise false.
|
|
88
|
+
*/
|
|
89
|
+
inServer() {
|
|
90
|
+
return "serverId" in this;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Converts the channel to a string representation.
|
|
94
|
+
*
|
|
95
|
+
* @returns {string} A string representation of the channel in the format `<#channelId>`.
|
|
96
|
+
*/
|
|
97
|
+
toString() {
|
|
98
|
+
return `<#${this.id}>`;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Fetches the latest data for the channel from the client's channel collection.
|
|
102
|
+
*
|
|
103
|
+
* @param {boolean} [force=true] - Whether to force a fetch even if the channel is cached.
|
|
104
|
+
* @returns {Promise<Channel>} A promise that resolves with the updated channel instance.
|
|
105
|
+
*/
|
|
106
|
+
fetch(force = true) {
|
|
107
|
+
return this.client.channels.fetch(this, { force });
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
exports.Channel = Channel;
|
|
111
|
+
//# sourceMappingURL=channel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"channel.js","sourceRoot":"","sources":["../../src/struct/channel.ts"],"names":[],"mappings":";;;AAAA,iCAA8B;AAQ9B,0CAAoD;AAEpD;;;;;;;;;;;GAWG;AACH,MAAsB,OAAQ,SAAQ,WAAI;IAA1C;;QACE,SAAI,GAA6B,SAAS,CAAC;IAgG7C,CAAC;IA9FC;;;;OAIG;IACH,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACH,IAAI,SAAS;QACX,OAAO,YAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnC,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACH,MAAM;QACJ,OAAO,UAAU,IAAI,IAAI,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,KAAK,oBAAY,CAAC,KAAK,CAAC;IAC1C,CAAC;IAED;;;;OAIG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,KAAK,oBAAY,CAAC,KAAK,CAAC;IAC1C,CAAC;IAED;;;;OAIG;IACH,QAAQ;QACN,OAAO,UAAU,IAAI,IAAI,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACH,QAAQ;QACN,OAAO,KAAK,IAAI,CAAC,EAAE,GAAG,CAAC;IACzB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,KAAK,GAAG,IAAI;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IACrD,CAAC;CACF;AAjGD,0BAiGC"}
|