@buape/carbon 0.3.2 → 0.4.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.
Files changed (71) hide show
  1. package/dist/package.json +3 -2
  2. package/dist/src/abstracts/AnySelectMenuInteraction.d.ts +2 -1
  3. package/dist/src/abstracts/AnySelectMenuInteraction.d.ts.map +1 -1
  4. package/dist/src/abstracts/AnySelectMenuInteraction.js +2 -2
  5. package/dist/src/abstracts/AnySelectMenuInteraction.js.map +1 -1
  6. package/dist/src/abstracts/BaseCommand.d.ts +9 -3
  7. package/dist/src/abstracts/BaseCommand.d.ts.map +1 -1
  8. package/dist/src/abstracts/BaseCommand.js +11 -3
  9. package/dist/src/abstracts/BaseCommand.js.map +1 -1
  10. package/dist/src/abstracts/BaseComponentInteraction.d.ts +6 -2
  11. package/dist/src/abstracts/BaseComponentInteraction.d.ts.map +1 -1
  12. package/dist/src/abstracts/BaseComponentInteraction.js +19 -2
  13. package/dist/src/abstracts/BaseComponentInteraction.js.map +1 -1
  14. package/dist/src/abstracts/BaseInteraction.d.ts +4 -3
  15. package/dist/src/abstracts/BaseInteraction.d.ts.map +1 -1
  16. package/dist/src/abstracts/BaseInteraction.js +5 -9
  17. package/dist/src/abstracts/BaseInteraction.js.map +1 -1
  18. package/dist/src/classes/Client.d.ts +5 -0
  19. package/dist/src/classes/Client.d.ts.map +1 -1
  20. package/dist/src/classes/Client.js +15 -5
  21. package/dist/src/classes/Client.js.map +1 -1
  22. package/dist/src/internals/AutocompleteInteraction.d.ts +2 -2
  23. package/dist/src/internals/AutocompleteInteraction.d.ts.map +1 -1
  24. package/dist/src/internals/AutocompleteInteraction.js +2 -3
  25. package/dist/src/internals/AutocompleteInteraction.js.map +1 -1
  26. package/dist/src/internals/ButtonInteraction.d.ts +2 -1
  27. package/dist/src/internals/ButtonInteraction.d.ts.map +1 -1
  28. package/dist/src/internals/ButtonInteraction.js +2 -2
  29. package/dist/src/internals/ButtonInteraction.js.map +1 -1
  30. package/dist/src/internals/ChannelSelectMenuInteraction.d.ts +2 -1
  31. package/dist/src/internals/ChannelSelectMenuInteraction.d.ts.map +1 -1
  32. package/dist/src/internals/ChannelSelectMenuInteraction.js +2 -2
  33. package/dist/src/internals/ChannelSelectMenuInteraction.js.map +1 -1
  34. package/dist/src/internals/CommandHandler.d.ts.map +1 -1
  35. package/dist/src/internals/CommandHandler.js +5 -3
  36. package/dist/src/internals/CommandHandler.js.map +1 -1
  37. package/dist/src/internals/CommandInteraction.d.ts +2 -2
  38. package/dist/src/internals/CommandInteraction.d.ts.map +1 -1
  39. package/dist/src/internals/CommandInteraction.js +2 -2
  40. package/dist/src/internals/CommandInteraction.js.map +1 -1
  41. package/dist/src/internals/ComponentHandler.d.ts.map +1 -1
  42. package/dist/src/internals/ComponentHandler.js +6 -6
  43. package/dist/src/internals/ComponentHandler.js.map +1 -1
  44. package/dist/src/internals/MentionableSelectMenuInteraction.d.ts +2 -1
  45. package/dist/src/internals/MentionableSelectMenuInteraction.d.ts.map +1 -1
  46. package/dist/src/internals/MentionableSelectMenuInteraction.js +2 -2
  47. package/dist/src/internals/MentionableSelectMenuInteraction.js.map +1 -1
  48. package/dist/src/internals/ModalHandler.js +1 -1
  49. package/dist/src/internals/ModalHandler.js.map +1 -1
  50. package/dist/src/internals/ModalInteraction.d.ts +8 -2
  51. package/dist/src/internals/ModalInteraction.d.ts.map +1 -1
  52. package/dist/src/internals/ModalInteraction.js +20 -2
  53. package/dist/src/internals/ModalInteraction.js.map +1 -1
  54. package/dist/src/internals/RoleSelectMenuInteraction.d.ts +2 -1
  55. package/dist/src/internals/RoleSelectMenuInteraction.d.ts.map +1 -1
  56. package/dist/src/internals/RoleSelectMenuInteraction.js +2 -2
  57. package/dist/src/internals/RoleSelectMenuInteraction.js.map +1 -1
  58. package/dist/src/internals/StringSelectMenuInteraction.d.ts +2 -1
  59. package/dist/src/internals/StringSelectMenuInteraction.d.ts.map +1 -1
  60. package/dist/src/internals/StringSelectMenuInteraction.js +2 -2
  61. package/dist/src/internals/StringSelectMenuInteraction.js.map +1 -1
  62. package/dist/src/internals/UserSelectMenuInteraction.d.ts +2 -1
  63. package/dist/src/internals/UserSelectMenuInteraction.d.ts.map +1 -1
  64. package/dist/src/internals/UserSelectMenuInteraction.js +2 -2
  65. package/dist/src/internals/UserSelectMenuInteraction.js.map +1 -1
  66. package/dist/src/structures/Message.d.ts +96 -4
  67. package/dist/src/structures/Message.d.ts.map +1 -1
  68. package/dist/src/structures/Message.js +133 -0
  69. package/dist/src/structures/Message.js.map +1 -1
  70. package/dist/tsconfig.tsbuildinfo +1 -1
  71. package/package.json +3 -2
@@ -3,6 +3,8 @@ import { Base } from "../abstracts/Base.js";
3
3
  import { channelFactory } from "../factories/channelFactory.js";
4
4
  import { GuildThreadChannel } from "./GuildThreadChannel.js";
5
5
  import { User } from "./User.js";
6
+ import { Embed } from "../classes/Embed.js";
7
+ import { Role } from "./Role.js";
6
8
  export class Message extends Base {
7
9
  /**
8
10
  * The ID of the message
@@ -17,6 +19,78 @@ export class Message extends Base {
17
19
  * If this is true, you should use {@link Message.fetch} to get the full data of the message.
18
20
  */
19
21
  partial;
22
+ /**
23
+ * If this message is a response to an interaction, this is the ID of the interaction's application
24
+ */
25
+ applicationId;
26
+ /**
27
+ * The attachments of the message
28
+ */
29
+ attachments;
30
+ /**
31
+ * The components of the message
32
+ */
33
+ components;
34
+ /**
35
+ * The content of the message
36
+ */
37
+ content;
38
+ /**
39
+ * If this message was edited, this is the timestamp of the edit
40
+ */
41
+ editedTimestamp;
42
+ /**
43
+ * The flags of the message
44
+ */
45
+ flags;
46
+ /**
47
+ * The interaction metadata of the message
48
+ */
49
+ interactionMetadata;
50
+ /**
51
+ * Whether the message mentions everyone
52
+ */
53
+ mentionedEveryone;
54
+ /**
55
+ * The data about the referenced message. You can use {@link Message.referencedMessage} to get the referenced message itself.
56
+ */
57
+ messageReference;
58
+ /**
59
+ * Whether the message is pinned
60
+ */
61
+ pinned;
62
+ /**
63
+ * The poll contained in the message
64
+ */
65
+ poll;
66
+ /**
67
+ * The approximate position of the message in the channel
68
+ */
69
+ position;
70
+ /**
71
+ * The reactions on the message
72
+ */
73
+ reactions;
74
+ /**
75
+ * The stickers in the message
76
+ */
77
+ stickers;
78
+ /**
79
+ * The timestamp of the original message
80
+ */
81
+ timestamp;
82
+ /**
83
+ * Whether the message is a TTS message
84
+ */
85
+ tts;
86
+ /**
87
+ * The type of the message
88
+ */
89
+ type;
90
+ /**
91
+ * If a webhook is used to send the message, this is the ID of the webhook
92
+ */
93
+ webhookId;
20
94
  rawData = null;
21
95
  constructor(client, rawDataOrIds) {
22
96
  super(client);
@@ -34,6 +108,24 @@ export class Message extends Base {
34
108
  this.rawData = data;
35
109
  if (!data)
36
110
  throw new Error("Cannot set data without having data... smh");
111
+ this.applicationId = data.application_id;
112
+ this.attachments = data.attachments;
113
+ this.components = data.components;
114
+ this.content = data.content;
115
+ this.editedTimestamp = data.edited_timestamp;
116
+ this.flags = data.flags;
117
+ this.interactionMetadata = data.interaction_metadata;
118
+ this.mentionedEveryone = data.mention_everyone;
119
+ this.messageReference = data.message_reference;
120
+ this.pinned = data.pinned;
121
+ this.poll = data.poll;
122
+ this.position = data.position;
123
+ this.reactions = data.reactions;
124
+ this.stickers = data.stickers;
125
+ this.timestamp = data.timestamp;
126
+ this.tts = data.tts;
127
+ this.type = data.type;
128
+ this.webhookId = data.webhook_id;
37
129
  }
38
130
  /**
39
131
  * Fetch updated data for this message.
@@ -52,6 +144,9 @@ export class Message extends Base {
52
144
  async delete() {
53
145
  return await this.client.rest.delete(Routes.channelMessage(this.channelId, this.id));
54
146
  }
147
+ /**
148
+ * Get the author of the message
149
+ */
55
150
  get author() {
56
151
  if (this.rawData?.webhook_id)
57
152
  return null; // TODO: Add webhook user
@@ -63,6 +158,9 @@ export class Message extends Base {
63
158
  return new User(this.client, this.rawData.author.id);
64
159
  return null;
65
160
  }
161
+ /**
162
+ * Get the channel the message was sent in
163
+ */
66
164
  async fetchChannel() {
67
165
  const data = (await this.client.rest.get(Routes.channel(this.channelId)));
68
166
  return channelFactory(this.client, data);
@@ -89,5 +187,40 @@ export class Message extends Base {
89
187
  }));
90
188
  return new GuildThreadChannel(this.client, thread);
91
189
  }
190
+ get thread() {
191
+ if (!this.rawData?.thread)
192
+ return null;
193
+ return channelFactory(this.client, this.rawData?.thread);
194
+ }
195
+ get embeds() {
196
+ if (!this.rawData?.embeds)
197
+ return [];
198
+ return this.rawData.embeds.map((embed) => new Embed(embed));
199
+ }
200
+ async edit(data) {
201
+ await this.client.rest.patch(Routes.channelMessage(this.channelId, this.id), {
202
+ body: {
203
+ ...data,
204
+ embeds: data.embeds?.map((embed) => embed.serialize()),
205
+ components: data.components?.map((row) => row.serialize()),
206
+ allowed_mentions: data.allowedMentions
207
+ }
208
+ });
209
+ }
210
+ get mentionedUsers() {
211
+ if (!this.rawData?.mentions)
212
+ return [];
213
+ return this.rawData.mentions.map((mention) => new User(this.client, mention));
214
+ }
215
+ get mentionedRoles() {
216
+ if (!this.rawData?.mention_roles)
217
+ return [];
218
+ return this.rawData.mention_roles.map((mention) => new Role(this.client, mention));
219
+ }
220
+ get referencedMessage() {
221
+ if (!this.rawData?.referenced_message)
222
+ return null;
223
+ return new Message(this.client, this.rawData?.referenced_message);
224
+ }
92
225
  }
93
226
  //# sourceMappingURL=Message.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Message.js","sourceRoot":"","sources":["../../../src/structures/Message.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Message.js","sourceRoot":"","sources":["../../../src/structures/Message.ts"],"names":[],"mappings":"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"}