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.
Files changed (144) hide show
  1. package/dist/client/baseClient.js +66 -0
  2. package/dist/client/baseClient.js.map +1 -0
  3. package/dist/client/client.js +120 -0
  4. package/dist/client/client.js.map +1 -0
  5. package/dist/client/events/bulkMessageDelete.js +22 -0
  6. package/dist/client/events/bulkMessageDelete.js.map +1 -0
  7. package/dist/client/events/channelCreate.js +42 -0
  8. package/dist/client/events/channelCreate.js.map +1 -0
  9. package/dist/client/events/channelDelete.js +30 -0
  10. package/dist/client/events/channelDelete.js.map +1 -0
  11. package/dist/client/events/channelGroupJoin.js +39 -0
  12. package/dist/client/events/channelGroupJoin.js.map +1 -0
  13. package/dist/client/events/channelGroupLeave.js +39 -0
  14. package/dist/client/events/channelGroupLeave.js.map +1 -0
  15. package/dist/client/events/channelStarttyping.js +27 -0
  16. package/dist/client/events/channelStarttyping.js.map +1 -0
  17. package/dist/client/events/channelStopTyping.js +27 -0
  18. package/dist/client/events/channelStopTyping.js.map +1 -0
  19. package/dist/client/events/channelUpdate.js +26 -0
  20. package/dist/client/events/channelUpdate.js.map +1 -0
  21. package/dist/client/events/event.js +21 -0
  22. package/dist/client/events/event.js.map +1 -0
  23. package/dist/client/events/eventManager.js +82 -0
  24. package/dist/client/events/eventManager.js.map +1 -0
  25. package/dist/client/events/index.js +39 -0
  26. package/dist/client/events/index.js.map +1 -0
  27. package/dist/client/events/message.js +43 -0
  28. package/dist/client/events/message.js.map +1 -0
  29. package/dist/client/events/messageDelete.js +31 -0
  30. package/dist/client/events/messageDelete.js.map +1 -0
  31. package/dist/client/events/messageReact.js +47 -0
  32. package/dist/client/events/messageReact.js.map +1 -0
  33. package/dist/client/events/messageUnreact.js +52 -0
  34. package/dist/client/events/messageUnreact.js.map +1 -0
  35. package/dist/client/events/messageUpdate.js +29 -0
  36. package/dist/client/events/messageUpdate.js.map +1 -0
  37. package/dist/client/events/serverCreate.js +37 -0
  38. package/dist/client/events/serverCreate.js.map +1 -0
  39. package/dist/client/events/serverDelete.js +27 -0
  40. package/dist/client/events/serverDelete.js.map +1 -0
  41. package/dist/client/events/serverMemberJoin.js +41 -0
  42. package/dist/client/events/serverMemberJoin.js.map +1 -0
  43. package/dist/client/events/serverMemberLeave.js +31 -0
  44. package/dist/client/events/serverMemberLeave.js.map +1 -0
  45. package/dist/client/events/serverMemberUpdate.js +45 -0
  46. package/dist/client/events/serverMemberUpdate.js.map +1 -0
  47. package/dist/client/events/serverRoleDelete.js +31 -0
  48. package/dist/client/events/serverRoleDelete.js.map +1 -0
  49. package/dist/client/events/serverRoleUpdate.js +29 -0
  50. package/dist/client/events/serverRoleUpdate.js.map +1 -0
  51. package/dist/client/events/serverupdate.js +26 -0
  52. package/dist/client/events/serverupdate.js.map +1 -0
  53. package/dist/client/events/userUpdate.js +28 -0
  54. package/dist/client/events/userUpdate.js.map +1 -0
  55. package/dist/client/webSocket.js +285 -0
  56. package/dist/client/webSocket.js.map +1 -0
  57. package/dist/index.js +22 -4061
  58. package/dist/index.js.map +1 -0
  59. package/dist/managers/baseManager.js +44 -0
  60. package/dist/managers/baseManager.js.map +1 -0
  61. package/dist/managers/channelManager.js +113 -0
  62. package/dist/managers/channelManager.js.map +1 -0
  63. package/dist/managers/index.js +25 -0
  64. package/dist/managers/index.js.map +1 -0
  65. package/dist/managers/messageManager.js +218 -0
  66. package/dist/managers/messageManager.js.map +1 -0
  67. package/dist/managers/roleManager.js +52 -0
  68. package/dist/managers/roleManager.js.map +1 -0
  69. package/dist/managers/serverChannelManager.js +81 -0
  70. package/dist/managers/serverChannelManager.js.map +1 -0
  71. package/dist/managers/serverManager.js +72 -0
  72. package/dist/managers/serverManager.js.map +1 -0
  73. package/dist/managers/serverMemberManager.js +128 -0
  74. package/dist/managers/serverMemberManager.js.map +1 -0
  75. package/dist/managers/userManager.js +56 -0
  76. package/dist/managers/userManager.js.map +1 -0
  77. package/dist/rest/restClient.js +113 -0
  78. package/dist/rest/restClient.js.map +1 -0
  79. package/dist/rest/restUtils/queue.js +22 -0
  80. package/dist/rest/restUtils/queue.js.map +1 -0
  81. package/dist/struct/attachment.js +42 -0
  82. package/dist/struct/attachment.js.map +1 -0
  83. package/dist/struct/base.js +88 -0
  84. package/dist/struct/base.js.map +1 -0
  85. package/dist/struct/category.js +65 -0
  86. package/dist/struct/category.js.map +1 -0
  87. package/dist/struct/channel.js +111 -0
  88. package/dist/struct/channel.js.map +1 -0
  89. package/dist/struct/clientUser.js +69 -0
  90. package/dist/struct/clientUser.js.map +1 -0
  91. package/dist/struct/dmChannel.js +87 -0
  92. package/dist/struct/dmChannel.js.map +1 -0
  93. package/dist/struct/emoji.js +49 -0
  94. package/dist/struct/emoji.js.map +1 -0
  95. package/dist/struct/groupChannel.js +203 -0
  96. package/dist/struct/groupChannel.js.map +1 -0
  97. package/dist/struct/index.js +37 -0
  98. package/dist/struct/index.js.map +1 -0
  99. package/dist/struct/interfaces/baseChannel.js +3 -0
  100. package/dist/struct/interfaces/baseChannel.js.map +1 -0
  101. package/dist/struct/invite.js +67 -0
  102. package/dist/struct/invite.js.map +1 -0
  103. package/dist/struct/mentions.js +86 -0
  104. package/dist/struct/mentions.js.map +1 -0
  105. package/dist/struct/message.js +249 -0
  106. package/dist/struct/message.js.map +1 -0
  107. package/dist/struct/messageEmbed.js +106 -0
  108. package/dist/struct/messageEmbed.js.map +1 -0
  109. package/dist/struct/notesChannel.js +92 -0
  110. package/dist/struct/notesChannel.js.map +1 -0
  111. package/dist/struct/presence.js +30 -0
  112. package/dist/struct/presence.js.map +1 -0
  113. package/dist/struct/role.js +107 -0
  114. package/dist/struct/role.js.map +1 -0
  115. package/dist/struct/server.js +164 -0
  116. package/dist/struct/server.js.map +1 -0
  117. package/dist/struct/serverChannel.js +118 -0
  118. package/dist/struct/serverChannel.js.map +1 -0
  119. package/dist/struct/serverMember.js +205 -0
  120. package/dist/struct/serverMember.js.map +1 -0
  121. package/dist/struct/textChannel.js +83 -0
  122. package/dist/struct/textChannel.js.map +1 -0
  123. package/dist/struct/user.js +172 -0
  124. package/dist/struct/user.js.map +1 -0
  125. package/dist/struct/voiceChannels.js +54 -0
  126. package/dist/struct/voiceChannels.js.map +1 -0
  127. package/dist/test.js +42 -0
  128. package/dist/test.js.map +1 -0
  129. package/dist/utils/UUID.js +53 -0
  130. package/dist/utils/UUID.js.map +1 -0
  131. package/dist/utils/badges.js +22 -0
  132. package/dist/utils/badges.js.map +1 -0
  133. package/dist/utils/bitField.js +79 -0
  134. package/dist/utils/bitField.js.map +1 -0
  135. package/dist/utils/constants.js +105 -0
  136. package/dist/utils/constants.js.map +1 -0
  137. package/dist/utils/index.js +22 -0
  138. package/dist/utils/index.js.map +1 -0
  139. package/dist/utils/permissions.js +68 -0
  140. package/dist/utils/permissions.js.map +1 -0
  141. package/package.json +2 -2
  142. package/dist/index.d.mts +0 -2430
  143. package/dist/index.d.ts +0 -2430
  144. package/dist/index.mjs +0 -3989
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,0CAAyC;AAAhC,gGAAA,MAAM,OAAA;AACf,iDAA+B;AAC/B,gDAA8B"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseManager = void 0;
4
+ class BaseManager {
5
+ constructor(client) {
6
+ this.client = client;
7
+ this.cache = new Map();
8
+ }
9
+ _add(raw) {
10
+ if (!this.holds)
11
+ throw new Error("Holds is not defined");
12
+ const obj = new this.holds(this.client, raw);
13
+ this.cache.set(obj.id, obj);
14
+ return obj;
15
+ }
16
+ _remove(id) {
17
+ this.cache.delete(id);
18
+ }
19
+ resolve(resolvable) {
20
+ var _a;
21
+ const id = this.resolveId(resolvable);
22
+ if (id)
23
+ return (_a = this.cache.get(id)) !== null && _a !== void 0 ? _a : null;
24
+ return null;
25
+ }
26
+ resolveId(resolvable) {
27
+ var _a;
28
+ if (resolvable == null)
29
+ return null;
30
+ if (typeof resolvable === "string")
31
+ return resolvable;
32
+ if (this.holds && resolvable instanceof this.holds)
33
+ return resolvable.id;
34
+ const raw = resolvable;
35
+ if (typeof raw === "object" && "_id" in raw)
36
+ (_a = raw._id) !== null && _a !== void 0 ? _a : null;
37
+ return null;
38
+ }
39
+ valueOf() {
40
+ return this.cache;
41
+ }
42
+ }
43
+ exports.BaseManager = BaseManager;
44
+ //# sourceMappingURL=baseManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseManager.js","sourceRoot":"","sources":["../../src/managers/baseManager.ts"],"names":[],"mappings":";;;AAEA,MAAsB,WAAW;IAI/B,YAA+B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QAHpC,UAAK,GAAG,IAAI,GAAG,EAAiB,CAAC;IAGM,CAAC;IAEjD,IAAI,CAAC,GAAM;QACT,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QACzD,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAC5B,OAAO,GAAG,CAAC;IACb,CAAC;IAED,OAAO,CAAC,EAAU;QAChB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC;IAOD,OAAO,CAAC,UAA8B;;QACpC,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACtC,IAAI,EAAE;YAAE,OAAO,MAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,mCAAI,IAAI,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,CAAC,UAA8B;;QACtC,IAAI,UAAU,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QACpC,IAAI,OAAO,UAAU,KAAK,QAAQ;YAAE,OAAO,UAAU,CAAC;QACtD,IAAI,IAAI,CAAC,KAAK,IAAI,UAAU,YAAY,IAAI,CAAC,KAAK;YAAE,OAAO,UAAU,CAAC,EAAE,CAAC;QACzE,MAAM,GAAG,GAAG,UAAwC,CAAC;QACrD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,IAAI,GAAG;YAAE,MAAA,GAAG,CAAC,GAAG,mCAAI,IAAI,CAAC;QAC7D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;CACF;AAxCD,kCAwCC"}
@@ -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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ChannelManager = void 0;
13
+ const baseManager_1 = require("./baseManager");
14
+ const index_1 = require("../struct/index");
15
+ class ChannelManager extends baseManager_1.BaseManager {
16
+ constructor() {
17
+ super(...arguments);
18
+ this.holds = null;
19
+ }
20
+ _add(data) {
21
+ let channel;
22
+ switch (data.channel_type) {
23
+ case "TextChannel":
24
+ channel = new index_1.TextChannel(this.client, data);
25
+ break;
26
+ case "VoiceChannel":
27
+ channel = new index_1.VoiceChannel(this.client, data);
28
+ break;
29
+ case "DirectMessage":
30
+ channel = new index_1.DMChannel(this.client, data);
31
+ break;
32
+ case "Group":
33
+ channel = new index_1.GroupChannel(this.client, data);
34
+ break;
35
+ case "SavedMessages":
36
+ channel = new index_1.NotesChannel(this.client, data);
37
+ if (this.client.user)
38
+ this.client.user.notes = channel;
39
+ break;
40
+ default:
41
+ throw new Error(`Unknown Channel Type: ${data}`);
42
+ }
43
+ this.cache.set(channel.id, channel);
44
+ return channel;
45
+ }
46
+ _remove(id) {
47
+ var _a;
48
+ const channel = this.cache.get(id);
49
+ if (channel === null || channel === void 0 ? void 0 : channel.inServer()) {
50
+ (_a = channel.server) === null || _a === void 0 ? void 0 : _a.channels.cache.delete(id);
51
+ }
52
+ super._remove(id);
53
+ }
54
+ /**
55
+ * used to delete a channel
56
+ *
57
+ * @param channel The channel to delete
58
+ * @returns A promise that resolves when the channel is deleted
59
+ */
60
+ delete(channel) {
61
+ return __awaiter(this, void 0, void 0, function* () {
62
+ const id = this.resolveId(channel);
63
+ if (!id) {
64
+ throw new TypeError("INVALID_TYPE");
65
+ }
66
+ yield this.client.api.delete(`/channels/${id}`);
67
+ });
68
+ }
69
+ /**
70
+ * used to fetch a channel
71
+ *
72
+ * @param channel The channel to fetch
73
+ * @param force Whether to force fetch the channel using the api or return it form cache if able
74
+ * @returns A promise that resolves with the fetched channel
75
+ */
76
+ fetch(channel_1) {
77
+ return __awaiter(this, arguments, void 0, function* (channel, { force = true } = {}) {
78
+ const id = this.resolveId(channel);
79
+ if (!id) {
80
+ throw new TypeError("INVALID_TYPE");
81
+ }
82
+ if (!force) {
83
+ const channel = this.cache.get(id);
84
+ if (channel)
85
+ return channel;
86
+ }
87
+ const data = (yield this.client.api.get(`/channels/${id}`));
88
+ return this._add(data);
89
+ });
90
+ }
91
+ /**
92
+ * resolves a channel from a string or a channel object
93
+ * @param channel The channel to resolve
94
+ * @returns the resolved channel or null if not found
95
+ */
96
+ resolve(channel) {
97
+ if (channel instanceof index_1.Channel)
98
+ return channel;
99
+ return super.resolve(channel);
100
+ }
101
+ /**
102
+ * resolves a channel id from a string or a channel object
103
+ * @param channel The channel to resolve
104
+ * @returns the resolved channel id or null if not found
105
+ */
106
+ resolveId(channel) {
107
+ if (channel instanceof index_1.Channel)
108
+ return channel.id;
109
+ return super.resolveId(channel);
110
+ }
111
+ }
112
+ exports.ChannelManager = ChannelManager;
113
+ //# sourceMappingURL=channelManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channelManager.js","sourceRoot":"","sources":["../../src/managers/channelManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./baseManager"), exports);
18
+ __exportStar(require("./channelManager"), exports);
19
+ __exportStar(require("./serverManager"), exports);
20
+ __exportStar(require("./userManager"), exports);
21
+ __exportStar(require("./messageManager"), exports);
22
+ __exportStar(require("./roleManager"), exports);
23
+ __exportStar(require("./serverChannelManager"), exports);
24
+ __exportStar(require("./serverMemberManager"), exports);
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/managers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,mDAAiC;AACjC,kDAAgC;AAChC,gDAA8B;AAC9B,mDAAiC;AACjC,gDAA8B;AAC9B,yDAAuC;AACvC,wDAAsC"}
@@ -0,0 +1,218 @@
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.MessageManager = void 0;
13
+ const baseManager_1 = require("./baseManager");
14
+ const index_1 = require("../struct/index");
15
+ const index_2 = require("../utils/index");
16
+ class MessageManager extends baseManager_1.BaseManager {
17
+ constructor(channel) {
18
+ super(channel.client);
19
+ this.channel = channel;
20
+ this.holds = index_1.Message;
21
+ }
22
+ /**
23
+ *
24
+ * @param content The content to send. Can be a string or an object with the following properties:
25
+ * - content: The content of the message
26
+ * - replies: An array of message IDs to reply to
27
+ * - attachments: An array of attachment URLs
28
+ * - embeds: An array of MessageEmbed objects
29
+ * @returns Promise that resolves to the sent message
30
+ */
31
+ send(content) {
32
+ return __awaiter(this, void 0, void 0, function* () {
33
+ if (typeof content === "string")
34
+ content = { content };
35
+ const data = (yield this.client.api.post(`/channels/${this.channel.id}/messages`, {
36
+ body: Object.assign(Object.assign({}, content), { nonce: index_2.UUID.generate() }),
37
+ }));
38
+ return this._add(data);
39
+ });
40
+ }
41
+ /**
42
+ * acknowledge a message to mark it as read (not important for bots)
43
+ * @param message The message to acknowledge
44
+ * @returns Promise that resolves when the message is acknowledged
45
+ */
46
+ ack(message) {
47
+ return __awaiter(this, void 0, void 0, function* () {
48
+ const id = this.resolveId(message);
49
+ if (!id) {
50
+ throw new TypeError("INVALID_TYPE");
51
+ }
52
+ yield this.client.api.put(`/channels/${this.channel.id}/ack/${id}`);
53
+ });
54
+ }
55
+ /**
56
+ * bulk delete messages from the channel
57
+ * @param messages The messages to delete. Can be an array of message IDs or a Map of message IDs to Message objects.
58
+ * @returns Promise that resolves when the messages are deleted
59
+ */
60
+ bulkDelete(messages) {
61
+ return __awaiter(this, void 0, void 0, function* () {
62
+ let ids = [];
63
+ if (typeof messages === "number") {
64
+ messages = yield this.fetch(messages);
65
+ ids = messages instanceof Map ? [...messages.keys()] : [];
66
+ }
67
+ else if (messages instanceof Map) {
68
+ ids = [...messages.keys()];
69
+ }
70
+ else {
71
+ ids = messages.map((m) => this.resolveId(m)).filter(Boolean);
72
+ }
73
+ yield this.client.api.delete(`/channels/${this.channel.id}/messages/bulk`, {
74
+ body: JSON.stringify({ ids }),
75
+ });
76
+ });
77
+ }
78
+ /**
79
+ * delete a message from the channel
80
+ * @param message The message to delete. Can be a Message object or a message ID.
81
+ * @returns Promise that resolves when the message is deleted
82
+ */
83
+ delete(message) {
84
+ return __awaiter(this, void 0, void 0, function* () {
85
+ const id = this.resolveId(message);
86
+ if (!id) {
87
+ throw new TypeError("INVALID_TYPE");
88
+ }
89
+ yield this.client.api.delete(`/channels/${this.channel.id}/messages/${id}`);
90
+ });
91
+ }
92
+ /**
93
+ * edit a message in the channel
94
+ * @param message The message to edit. Can be a Message object or a message ID.
95
+ * @param options The options to edit the message with. Can be a string or an object with the following properties:
96
+ * - content: The new content of the message
97
+ * - attachments: An array of attachment URLs
98
+ * - embeds: An array of MessageEmbed objects
99
+ * @returns Promise that resolves when the message is edited
100
+ */
101
+ edit(message, options) {
102
+ return __awaiter(this, void 0, void 0, function* () {
103
+ const id = this.resolveId(message);
104
+ if (!id) {
105
+ throw new TypeError("INVALID_TYPE");
106
+ }
107
+ if (typeof options === "string")
108
+ options = { content: options };
109
+ yield this.client.api.patch(`/channels/${this.channel.id}/messages/${id}`, {
110
+ body: options,
111
+ });
112
+ });
113
+ }
114
+ /**
115
+ * search for messages in the channel
116
+ * @param query The query to search for. Can be a string or an object with the following properties:
117
+ * - query: The query to search for
118
+ * - limit: The maximum number of messages to return
119
+ * - before: The message ID to start searching from (exclusive)
120
+ * - after: The message ID to stop searching at (exclusive)
121
+ * - sort: The sort order of the results (asc or desc)
122
+ * @returns Promise that resolves to a Map of message IDs to Message objects
123
+ */
124
+ search(query) {
125
+ return __awaiter(this, void 0, void 0, function* () {
126
+ if (typeof query === "string")
127
+ query = { query };
128
+ const response = (yield this.client.api.post(`/channels/${this.channel.id}/search`, {
129
+ query: query,
130
+ }));
131
+ return response.reduce((coll, cur) => {
132
+ const msg = this._add(cur);
133
+ coll.set(msg.id, msg);
134
+ return coll;
135
+ }, new Map());
136
+ });
137
+ }
138
+ fetch(query) {
139
+ return __awaiter(this, void 0, void 0, function* () {
140
+ const id = this.resolveId(query);
141
+ if (id) {
142
+ const data = (yield this.client.api.get(`/channels/${this.channel.id}/messages/${id}`));
143
+ return this._add(data);
144
+ }
145
+ if (typeof query === "number")
146
+ query = { limit: query };
147
+ else if (typeof query === "undefined")
148
+ query = { limit: 100 };
149
+ const messages = yield this.client.api.get(`/channels/${this.channel.id}/messages`, { query: JSON.stringify(query) });
150
+ return messages.reduce((coll, cur) => {
151
+ const msg = this._add(cur);
152
+ coll.set(msg.id, msg);
153
+ return coll;
154
+ }, new Map());
155
+ });
156
+ }
157
+ /**
158
+ * add a reaction to a message
159
+ * @param message The message to react to. Can be a Message object or a message ID.
160
+ * @param emoji emoji to react with. Can be a string or an Emoji object.
161
+ * @returns Promise that resolves when the reaction is added
162
+ */
163
+ addReaction(message, emoji) {
164
+ return __awaiter(this, void 0, void 0, function* () {
165
+ const id = this.resolveId(message);
166
+ if (!id) {
167
+ throw new TypeError("INVALID_TYPE");
168
+ }
169
+ if (emoji instanceof index_1.Emoji)
170
+ emoji = emoji.id;
171
+ else if (typeof emoji !== "string") {
172
+ throw new TypeError("INVALID_TYPE");
173
+ }
174
+ yield this.client.api.put(`/channels/${this.channel.id}/messages/${id}/reactions/${emoji}`);
175
+ });
176
+ }
177
+ /**
178
+ *
179
+ * @param message The message to unreact. Can be a Message object or a message ID.
180
+ * @param emoji the emoji to unreact with. Can be a string or an Emoji object.
181
+ * @param user_id The user ID to remove the reaction for. If not provided, removes the reaction for the current user.
182
+ * @param remove_all Whether to remove all of the specified reaction for the message. Defaults to false.
183
+ * @returns Promise that resolves when the reaction is removed
184
+ */
185
+ removeReaction(message_1, emoji_1, user_id_1) {
186
+ return __awaiter(this, arguments, void 0, function* (message, emoji, user_id, remove_all = false) {
187
+ const id = this.resolveId(message);
188
+ if (!id) {
189
+ throw new TypeError("INVALID_TYPE");
190
+ }
191
+ if (emoji instanceof index_1.Emoji)
192
+ emoji = emoji.id;
193
+ else if (typeof emoji !== "string") {
194
+ throw new TypeError("INVALID_TYPE");
195
+ }
196
+ const queryString = user_id
197
+ ? `?user_id=${user_id}&remove_all=${remove_all}`
198
+ : `?remove_all=${remove_all}`;
199
+ yield this.client.api.delete(`/channels/${this.channel.id}/messages/${id}/reactions/${emoji}${queryString}`);
200
+ });
201
+ }
202
+ /**
203
+ * remove all reactions from a message
204
+ * @param message The message to remove reactions from. Can be a Message object or a message ID.
205
+ * @returns Promise that resolves when the reactions are removed
206
+ */
207
+ removeAllReactions(message) {
208
+ return __awaiter(this, void 0, void 0, function* () {
209
+ const id = this.resolveId(message);
210
+ if (!id) {
211
+ throw new TypeError("INVALID_TYPE");
212
+ }
213
+ yield this.client.api.delete(`/channels/${this.channel.id}/messages/${id}/reactions`);
214
+ });
215
+ }
216
+ }
217
+ exports.MessageManager = MessageManager;
218
+ //# sourceMappingURL=messageManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messageManager.js","sourceRoot":"","sources":["../../src/managers/messageManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
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.RoleManager = void 0;
13
+ const baseManager_1 = require("./baseManager");
14
+ const index_1 = require("../struct/index");
15
+ class RoleManager extends baseManager_1.BaseManager {
16
+ constructor(server) {
17
+ super(server.client);
18
+ this.server = server;
19
+ this.holds = index_1.Role;
20
+ }
21
+ _add(data) {
22
+ const role = new index_1.Role(this.server, data);
23
+ this.cache.set(role.id, role);
24
+ return role;
25
+ }
26
+ /**
27
+ * creates a new role in the server
28
+ * @param name The name of the role to create
29
+ * @returns
30
+ */
31
+ create(name) {
32
+ return __awaiter(this, void 0, void 0, function* () {
33
+ const { id, role } = yield this.client.api.post(`/servers/${this.server.id}/roles`, { body: { name } });
34
+ return this._add(Object.assign(role, { id }));
35
+ });
36
+ }
37
+ /**
38
+ * deletes a role from the server
39
+ * @param role the role to delete
40
+ * @returns A promise that resolves when the role is deleted
41
+ */
42
+ delete(role) {
43
+ return __awaiter(this, void 0, void 0, function* () {
44
+ const id = this.resolveId(role);
45
+ if (!id)
46
+ throw new TypeError("INVALID_TYPE");
47
+ yield this.client.api.delete(`/servers/${this.server.id}/roles/${id}`);
48
+ });
49
+ }
50
+ }
51
+ exports.RoleManager = RoleManager;
52
+ //# sourceMappingURL=roleManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roleManager.js","sourceRoot":"","sources":["../../src/managers/roleManager.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,+CAA4C;AAC5C,2CAA+C;AAI/C,MAAa,WAAY,SAAQ,yBAA2C;IAE1E,YAA+B,MAAc;QAC3C,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QADQ,WAAM,GAAN,MAAM,CAAQ;QAD7C,UAAK,GAAG,YAAI,CAAC;IAGb,CAAC;IAED,IAAI,CAAC,IAA8B;QACjC,MAAM,IAAI,GAAG,IAAI,YAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACG,MAAM,CAAC,IAAY;;YACvB,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAG5C,YAAY,IAAI,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;YAC3D,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAChD,CAAC;KAAA;IAED;;;;OAIG;IACG,MAAM,CAAC,IAAoB;;YAC/B,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,CAAC,EAAE;gBAAE,MAAM,IAAI,SAAS,CAAC,cAAc,CAAC,CAAC;YAC7C,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;QACzE,CAAC;KAAA;CACF;AAnCD,kCAmCC"}
@@ -0,0 +1,81 @@
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.ServerChannelManager = void 0;
13
+ const baseManager_1 = require("./baseManager");
14
+ const index_1 = require("../struct/index");
15
+ const index_2 = require("../utils/index");
16
+ class ServerChannelManager extends baseManager_1.BaseManager {
17
+ constructor(server) {
18
+ super(server.client);
19
+ this.server = server;
20
+ this.holds = index_1.ServerChannel;
21
+ }
22
+ _add(data) {
23
+ let channel;
24
+ switch (data.channel_type) {
25
+ case "TextChannel":
26
+ channel = new index_1.TextChannel(this.client, data);
27
+ break;
28
+ case "VoiceChannel":
29
+ channel = new index_1.VoiceChannel(this.client, data);
30
+ break;
31
+ default:
32
+ throw new Error(`Unknown channel type: ${data.channel_type}`);
33
+ }
34
+ this.cache.set(channel.id, channel);
35
+ return channel;
36
+ }
37
+ /**
38
+ * creates a new channel in the server
39
+ * @param name The name of the channel to create
40
+ * @param type The type of the channel to create. Can be "Text" or "Voice". Defaults to "Text".
41
+ * @param description The description of the channel to create. Only used for voice channels.
42
+ * @returns A promise that resolves to the created channel
43
+ */
44
+ create(_a) {
45
+ return __awaiter(this, arguments, void 0, function* ({ name, type = "Text", description, }) {
46
+ const data = yield this.client.api.post(`/servers/${this.server.id}/channels`, {
47
+ body: {
48
+ name,
49
+ type,
50
+ description,
51
+ nonce: index_2.UUID.generate(),
52
+ },
53
+ });
54
+ return this._add(data);
55
+ });
56
+ }
57
+ /**
58
+ * fetch a channel from the server
59
+ * @param channel The channel to fetch. Can be a string, a channel object, or an API channel object.
60
+ * @param force Whether to force fetch the channel from the API. Defaults to true.
61
+ * If set to false, the method will return the channel from the cache if it exists.
62
+ * @returns A promise that resolves to the fetched channel
63
+ */
64
+ fetch(channel_1) {
65
+ return __awaiter(this, arguments, void 0, function* (channel, { force = true } = {}) {
66
+ const id = this.resolveId(channel);
67
+ if (!id) {
68
+ throw new TypeError("INVALID_ID");
69
+ }
70
+ if (!force) {
71
+ const channel = this.cache.get(id);
72
+ if (channel)
73
+ return channel;
74
+ }
75
+ const data = yield this.client.api.get(`/servers/${this.server.id}/channels/${id}`);
76
+ return this._add(data);
77
+ });
78
+ }
79
+ }
80
+ exports.ServerChannelManager = ServerChannelManager;
81
+ //# sourceMappingURL=serverChannelManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serverChannelManager.js","sourceRoot":"","sources":["../../src/managers/serverChannelManager.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,+CAA4C;AAC5C,2CAKyB;AACzB,0CAAsC;AAetC,MAAa,oBAAqB,SAAQ,yBAA0B;IAElE,YAA+B,MAAc;QAC3C,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QADQ,WAAM,GAAN,MAAM,CAAQ;QAD7C,UAAK,GAAG,qBAAa,CAAC;IAGtB,CAAC;IAED,IAAI,CAAC,IAAsB;QACzB,IAAI,OAAsB,CAAC;QAE3B,QAAQ,IAAI,CAAC,YAAY,EAAE,CAAC;YAC1B,KAAK,aAAa;gBAChB,OAAO,GAAG,IAAI,mBAAW,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBAC7C,MAAM;YACR,KAAK,cAAc;gBACjB,OAAO,GAAG,IAAI,oBAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBAC9C,MAAM;YACR;gBACE,MAAM,IAAI,KAAK,CACb,yBAA0B,IAAyB,CAAC,YAAY,EAAE,CACnE,CAAC;QACN,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAEpC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;OAMG;IACG,MAAM;6DAAC,EACX,IAAI,EACJ,IAAI,GAAG,MAAM,EACb,WAAW,GACU;YACrB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CACrC,YAAY,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EACrC;gBACE,IAAI,EAAE;oBACJ,IAAI;oBACJ,IAAI;oBACJ,WAAW;oBACX,KAAK,EAAE,YAAI,CAAC,QAAQ,EAAE;iBACvB;aACF,CACF,CAAC;YACF,OAAO,IAAI,CAAC,IAAI,CAAC,IAAwB,CAAC,CAAC;QAC7C,CAAC;KAAA;IAED;;;;;;OAMG;IACG,KAAK;6DACT,OAAgC,EAChC,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE;YAErB,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAEnC,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,MAAM,IAAI,SAAS,CAAC,YAAY,CAAC,CAAC;YACpC,CAAC;YAED,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACnC,IAAI,OAAO;oBAAE,OAAO,OAAO,CAAC;YAC9B,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CACpC,YAAY,IAAI,CAAC,MAAM,CAAC,EAAE,aAAa,EAAE,EAAE,CAC5C,CAAC;YAEF,OAAO,IAAI,CAAC,IAAI,CAAC,IAAwB,CAAC,CAAC;QAC7C,CAAC;KAAA;CACF;AAjFD,oDAiFC"}
@@ -0,0 +1,72 @@
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.ServerManager = void 0;
13
+ const baseManager_1 = require("./baseManager");
14
+ const index_1 = require("../struct/index");
15
+ class ServerManager extends baseManager_1.BaseManager {
16
+ constructor() {
17
+ super(...arguments);
18
+ this.holds = index_1.Server;
19
+ }
20
+ _remove(id) {
21
+ var _a;
22
+ const server = this.cache.get(id);
23
+ for (const id of (_a = server === null || server === void 0 ? void 0 : server.channels.cache.keys()) !== null && _a !== void 0 ? _a : []) {
24
+ this.client.channels._remove(id);
25
+ }
26
+ return super._remove(id);
27
+ }
28
+ /**
29
+ * edits a server
30
+ * @param server The server to edit
31
+ * @param options The options to edit the server with
32
+ * @param options.name The name of the server
33
+ * @param options.description The description of the server
34
+ * @returns A promise that resolves when the server is edited
35
+ */
36
+ edit(server, options) {
37
+ return __awaiter(this, void 0, void 0, function* () {
38
+ const id = this.resolveId(server);
39
+ if (!id)
40
+ throw new TypeError("INVALID_TYPE");
41
+ yield this.client.api.patch(`/servers/${id}`, { body: options });
42
+ });
43
+ }
44
+ /**
45
+ * leaves a server
46
+ * @param server the server to leave
47
+ */
48
+ delete(server) {
49
+ return __awaiter(this, void 0, void 0, function* () {
50
+ const id = this.resolveId(server);
51
+ if (!id)
52
+ throw new TypeError("INVALID_TYPE");
53
+ yield this.client.api.delete(`/servers/${id}`);
54
+ });
55
+ }
56
+ fetch(server_1) {
57
+ return __awaiter(this, arguments, void 0, function* (server, { force = true } = {}) {
58
+ const id = this.resolveId(server);
59
+ if (!id)
60
+ throw new TypeError("INVALID_TYPE");
61
+ if (!force) {
62
+ const server = this.cache.get(id);
63
+ if (server)
64
+ return server;
65
+ }
66
+ const data = yield this.client.api.get(`/servers/${id}`);
67
+ return this._add(data);
68
+ });
69
+ }
70
+ }
71
+ exports.ServerManager = ServerManager;
72
+ //# sourceMappingURL=serverManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serverManager.js","sourceRoot":"","sources":["../../src/managers/serverManager.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAA4C;AAC5C,2CAAyC;AAWzC,MAAa,aAAc,SAAQ,yBAA8B;IAAjE;;QACW,UAAK,GAAG,cAAM,CAAC;IAwD1B,CAAC;IAtDC,OAAO,CAAC,EAAU;;QAChB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAElC,KAAK,MAAM,EAAE,IAAI,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,mCAAI,EAAE,EAAE,CAAC;YACrD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACnC,CAAC;QAED,OAAO,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;IAED;;;;;;;OAOG;IACG,IAAI,CACR,MAAwB,EACxB,OAA0B;;YAE1B,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAClC,IAAI,CAAC,EAAE;gBAAE,MAAM,IAAI,SAAS,CAAC,cAAc,CAAC,CAAC;YAC7C,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACnE,CAAC;KAAA;IAED;;;OAGG;IACG,MAAM,CAAC,MAAwB;;YACnC,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAClC,IAAI,CAAC,EAAE;gBAAE,MAAM,IAAI,SAAS,CAAC,cAAc,CAAC,CAAC;YAC7C,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QACjD,CAAC;KAAA;IAEK,KAAK;6DACT,MAAwB,EACxB,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE;YAErB,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAElC,IAAI,CAAC,EAAE;gBAAE,MAAM,IAAI,SAAS,CAAC,cAAc,CAAC,CAAC;YAE7C,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAClC,IAAI,MAAM;oBAAE,OAAO,MAAM,CAAC;YAC5B,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YAEzD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAiB,CAAC,CAAC;QACtC,CAAC;KAAA;CACF;AAzDD,sCAyDC"}