@devvit/reddit 0.11.17-next-2025-05-28-417d95f5a.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 (97) hide show
  1. package/LICENSE +26 -0
  2. package/README.md +5 -0
  3. package/RedditClient.d.ts +1155 -0
  4. package/RedditClient.d.ts.map +1 -0
  5. package/RedditClient.js +1417 -0
  6. package/common.d.ts +10 -0
  7. package/common.d.ts.map +1 -0
  8. package/common.js +5 -0
  9. package/getReddit.d.ts +3 -0
  10. package/getReddit.d.ts.map +1 -0
  11. package/getReddit.js +8 -0
  12. package/getRedditApiPlugins.d.ts +23 -0
  13. package/getRedditApiPlugins.d.ts.map +1 -0
  14. package/getRedditApiPlugins.js +25 -0
  15. package/getUserActionsPlugin.d.ts +6 -0
  16. package/getUserActionsPlugin.d.ts.map +1 -0
  17. package/getUserActionsPlugin.js +12 -0
  18. package/graphql/GraphQL.d.ts +10 -0
  19. package/graphql/GraphQL.d.ts.map +1 -0
  20. package/graphql/GraphQL.js +27 -0
  21. package/helpers/makeGettersEnumerable.d.ts +2 -0
  22. package/helpers/makeGettersEnumerable.d.ts.map +1 -0
  23. package/helpers/makeGettersEnumerable.js +19 -0
  24. package/helpers/permissions.d.ts +6 -0
  25. package/helpers/permissions.d.ts.map +1 -0
  26. package/helpers/permissions.js +24 -0
  27. package/helpers/richtextToString.d.ts +3 -0
  28. package/helpers/richtextToString.d.ts.map +1 -0
  29. package/helpers/richtextToString.js +14 -0
  30. package/helpers/textFallbackToRichtext.d.ts +4 -0
  31. package/helpers/textFallbackToRichtext.d.ts.map +1 -0
  32. package/helpers/textFallbackToRichtext.js +14 -0
  33. package/index.d.ts +3 -0
  34. package/index.d.ts.map +1 -0
  35. package/index.js +1 -0
  36. package/models/Comment.d.ts +138 -0
  37. package/models/Comment.d.ts.map +1 -0
  38. package/models/Comment.js +597 -0
  39. package/models/Flair.d.ts +171 -0
  40. package/models/Flair.d.ts.map +1 -0
  41. package/models/Flair.js +293 -0
  42. package/models/Listing.d.ts +53 -0
  43. package/models/Listing.d.ts.map +1 -0
  44. package/models/Listing.js +101 -0
  45. package/models/ModAction.d.ts +32 -0
  46. package/models/ModAction.d.ts.map +1 -0
  47. package/models/ModAction.js +70 -0
  48. package/models/ModMail.d.ts +655 -0
  49. package/models/ModMail.d.ts.map +1 -0
  50. package/models/ModMail.js +723 -0
  51. package/models/ModNote.d.ts +57 -0
  52. package/models/ModNote.d.ts.map +1 -0
  53. package/models/ModNote.js +103 -0
  54. package/models/Post.d.ts +491 -0
  55. package/models/Post.d.ts.map +1 -0
  56. package/models/Post.js +1022 -0
  57. package/models/PrivateMessage.d.ts +52 -0
  58. package/models/PrivateMessage.d.ts.map +1 -0
  59. package/models/PrivateMessage.js +126 -0
  60. package/models/Subreddit.d.ts +606 -0
  61. package/models/Subreddit.d.ts.map +1 -0
  62. package/models/Subreddit.js +750 -0
  63. package/models/User.d.ts +238 -0
  64. package/models/User.d.ts.map +1 -0
  65. package/models/User.js +458 -0
  66. package/models/Vault.d.ts +32 -0
  67. package/models/Vault.d.ts.map +1 -0
  68. package/models/Vault.js +25 -0
  69. package/models/Widget.d.ts +133 -0
  70. package/models/Widget.d.ts.map +1 -0
  71. package/models/Widget.js +467 -0
  72. package/models/WikiPage.d.ts +137 -0
  73. package/models/WikiPage.d.ts.map +1 -0
  74. package/models/WikiPage.js +329 -0
  75. package/models/index.d.ts +14 -0
  76. package/models/index.d.ts.map +1 -0
  77. package/models/index.js +13 -0
  78. package/package.json +46 -0
  79. package/tests/comment.api.test.d.ts.map +1 -0
  80. package/tests/flair.api.test.d.ts.map +1 -0
  81. package/tests/modmail.api.test.d.ts.map +1 -0
  82. package/tests/modnote.api.test.d.ts.map +1 -0
  83. package/tests/post.api.test.d.ts.map +1 -0
  84. package/tests/subreddit.api.test.d.ts.map +1 -0
  85. package/tests/user.api.test.d.ts.map +1 -0
  86. package/tests/utils/createTestPreview.d.ts +2 -0
  87. package/tests/utils/createTestPreview.d.ts.map +1 -0
  88. package/tests/utils/createTestPreview.js +5 -0
  89. package/tests/utils/redditApiPluginsMock.d.ts +203 -0
  90. package/tests/utils/redditApiPluginsMock.d.ts.map +1 -0
  91. package/tests/utils/redditApiPluginsMock.js +202 -0
  92. package/tests/utils/runWithTestContext.d.ts +4 -0
  93. package/tests/utils/runWithTestContext.d.ts.map +1 -0
  94. package/tests/utils/runWithTestContext.js +12 -0
  95. package/tests/utils/userActionsPluginMock.d.ts +6 -0
  96. package/tests/utils/userActionsPluginMock.d.ts.map +1 -0
  97. package/tests/utils/userActionsPluginMock.js +5 -0
@@ -0,0 +1,655 @@
1
+ export type SubredditData = {
2
+ id?: string | undefined;
3
+ name?: string | undefined;
4
+ displayName?: string | undefined;
5
+ communityIcon?: string | undefined;
6
+ keyColor?: string | undefined;
7
+ subscribers?: number | undefined;
8
+ primaryColor?: string | undefined;
9
+ lastUpdated?: string | undefined;
10
+ icon?: string | undefined;
11
+ };
12
+ export type GetConversationsRequest = {
13
+ /** modmail conversation id */
14
+ after?: string;
15
+ /** array of subreddit names */
16
+ subreddits?: string[];
17
+ /** an integer between 1 and 100 (default: 25) */
18
+ limit?: number;
19
+ /**
20
+ * Sort by:
21
+ * - `recent` - Order by whenever anyone last updated the conversation, mod or participant
22
+ * - `mod` - Order by the last time a mod updated the conversation
23
+ * - `user` - Order by the last time a participant user updated the conversation
24
+ * - `unread` - Order by the most recent unread message in the conversation for this mod
25
+ */
26
+ sort?: 'recent' | 'mod' | 'user' | 'unread';
27
+ /**
28
+ * Filter by conversation state
29
+ *
30
+ * A conversation can be in more than one state.
31
+ * For example, a conversation may be both 'highlighted' and 'inprogress'.
32
+ */
33
+ state?: ConversationStateFilter;
34
+ };
35
+ /**
36
+ * A Conversation State is a way in which conversations may be filtered within the UI.
37
+ *
38
+ * A conversation can be in more than one state.
39
+ * For example, a conversation may be both 'highlighted' and 'inprogress'.
40
+ */
41
+ export type ConversationStateFilter = 'all' | 'new' | 'inprogress' | 'archived' | 'appeals' | 'join_requests' | 'highlighted' | 'mod' | 'notifications' | 'inbox' | 'filtered' | 'default';
42
+ /**
43
+ * Conversation participant
44
+ */
45
+ export type Participant = {
46
+ isMod?: boolean | undefined;
47
+ isAdmin?: boolean | undefined;
48
+ name?: string | undefined;
49
+ isOp?: boolean | undefined;
50
+ isParticipant?: boolean | undefined;
51
+ isApproved?: boolean | undefined;
52
+ isHidden?: boolean | undefined;
53
+ id?: number | undefined;
54
+ isDeleted?: boolean | undefined;
55
+ };
56
+ export type ConversationUserData = {
57
+ /** User ID*/
58
+ id?: string | undefined;
59
+ /** Username */
60
+ name?: string | undefined;
61
+ /** Recent comments */
62
+ recentComments: {
63
+ [id: string]: {
64
+ comment?: string | undefined;
65
+ date?: string | undefined;
66
+ permalink?: string | undefined;
67
+ title?: string | undefined;
68
+ };
69
+ };
70
+ /** Recent posts */
71
+ recentPosts: {
72
+ [id: string]: {
73
+ date?: string | undefined;
74
+ permalink?: string | undefined;
75
+ title?: string | undefined;
76
+ };
77
+ };
78
+ /** Recent conversations */
79
+ recentConvos: {
80
+ [id: string]: {
81
+ date?: string | undefined;
82
+ permalink?: string | undefined;
83
+ id?: string | undefined;
84
+ subject?: string | undefined;
85
+ };
86
+ };
87
+ isSuspended?: boolean | undefined;
88
+ isShadowBanned?: boolean | undefined;
89
+ muteStatus?: {
90
+ isMuted?: boolean | undefined;
91
+ muteCount?: number | undefined;
92
+ endDate?: string | undefined;
93
+ reason?: string | undefined;
94
+ } | undefined;
95
+ banStatus?: {
96
+ isBanned?: boolean | undefined;
97
+ isPermanent?: boolean | undefined;
98
+ endDate?: string | undefined;
99
+ reason?: string | undefined;
100
+ } | undefined;
101
+ approveStatus?: {
102
+ isApproved?: boolean | undefined;
103
+ } | undefined;
104
+ /** When was created */
105
+ created?: string | undefined;
106
+ };
107
+ export declare enum ModMailConversationState {
108
+ New = "New",
109
+ InProgress = "InProgress",
110
+ Archived = "Archived",
111
+ Appeals = "Appeals",
112
+ JoinRequests = "JoinRequests",
113
+ Filtered = "Filtered"
114
+ }
115
+ /**
116
+ * An ActionType describes a particular logged action within a conversation. For example,
117
+ * if a mod highlights a conversation, a ModerationAction record with the type `Highlighted`
118
+ * would be created.
119
+ */
120
+ export declare enum ModMailActionType {
121
+ Highlighted = "Highlighted",
122
+ Unhighlighted = "Unhighlighted",
123
+ Archived = "Archived",
124
+ Unarchived = "Unarchived",
125
+ ReportedToAdmins = "ReportedToAdmins",
126
+ Muted = "Muted",
127
+ Unmuted = "Unmuted",
128
+ Banned = "Banned",
129
+ Unbanned = "Unbanned",
130
+ Approved = "Approved",
131
+ Disapproved = "Disapproved",
132
+ Filtered = "Filtered",
133
+ Unfiltered = "Unfiltered"
134
+ }
135
+ export type ConversationData = {
136
+ /** Conversation ID */
137
+ id?: string | undefined;
138
+ /** Suject of the conversation */
139
+ subject?: string | undefined;
140
+ /**
141
+ * Subreddit owning the modmail conversation
142
+ */
143
+ subreddit?: {
144
+ displayName?: string | undefined;
145
+ id?: string | undefined;
146
+ } | undefined;
147
+ /**
148
+ * A ConversationType specifies whether a conversation is with a subreddit
149
+ * itself, with another user, or with another subreddit entirely.
150
+ * - `internal` - This is a conversation with another user outside of the subreddit. The participant ID is that user's ID.
151
+ * - `sr_user` - This is a Mod Discussion, internal to the subreddit. There is no other participant.
152
+ * - `sr_sr` - This is a conversation is with another subreddit. The participant will have a subreddit ID.
153
+ */
154
+ conversationType?: string | undefined;
155
+ /** Is the conversation automatically generated e.g. from automod, u/reddit */
156
+ isAuto?: boolean | undefined;
157
+ /** Participant. Is absent for mod discussions */
158
+ participant?: Participant | undefined;
159
+ /** The last datetime a user made any interaction with the conversation */
160
+ lastUserUpdate?: string | undefined;
161
+ /** Is the conversation internal (i.e. mod only) */
162
+ isInternal?: boolean | undefined;
163
+ /**
164
+ * The last datetime a mod from the owning subreddit made any interaction
165
+ * with the conversation.
166
+ *
167
+ * (Note that if this is a subreddit to subreddit conversation, the mods of
168
+ * the participant subreddit are irrelevant and do not affect this field.)
169
+ */
170
+ lastModUpdate?: string | undefined;
171
+ /** The authors of each message in the modmail conversation. */
172
+ authors: Participant[];
173
+ /** The datetime of the last time the conversation was update. */
174
+ lastUpdated?: string | undefined;
175
+ /** State of the conversation */
176
+ state?: ModMailConversationState | undefined;
177
+ /** The datetime of the last unread message within this conversation for the current viewer. */
178
+ lastUnread?: string | undefined;
179
+ /** Is the conversation highlighted */
180
+ isHighlighted?: boolean | undefined;
181
+ /** Number of messages (not actions) in the conversation */
182
+ numMessages?: number | undefined;
183
+ /**
184
+ * Conversation messages
185
+ *
186
+ * @example
187
+ * ```ts
188
+ * const arrayOfMessages = Object.values(conversation.messages);
189
+ * const messageById = conversation.messages[messageId];
190
+ * ```
191
+ */
192
+ messages: {
193
+ [id: string]: MessageData;
194
+ };
195
+ /**
196
+ * Conversation mod actions
197
+ *
198
+ * @example
199
+ * ```ts
200
+ * const arrayOfModActions = Object.values(conversation.modActions);
201
+ * const modActionById = conversation.modActions[modActionId];
202
+ * ```
203
+ */
204
+ modActions: {
205
+ [id: string]: ModActionData;
206
+ };
207
+ };
208
+ export type ModActionData = {
209
+ /** Action id */
210
+ id?: string | undefined;
211
+ /** Type of the action */
212
+ actionType: ModMailActionType;
213
+ /** When the action happened */
214
+ date?: string | undefined;
215
+ /** Action author */
216
+ author?: {
217
+ /** User id */
218
+ id?: number | undefined;
219
+ /** User name */
220
+ name?: string | undefined;
221
+ isMod?: boolean | undefined;
222
+ isAdmin?: boolean | undefined;
223
+ isHidden?: boolean | undefined;
224
+ isDeleted?: boolean | undefined;
225
+ } | undefined;
226
+ };
227
+ export type MessageData = {
228
+ /** Message ID */
229
+ id?: string | undefined;
230
+ /** Message body */
231
+ body?: string | undefined;
232
+ /** When was created */
233
+ date?: string | undefined;
234
+ author?: Participant | undefined;
235
+ isInternal?: boolean | undefined;
236
+ bodyMarkdown?: string | undefined;
237
+ participatingAs?: string | undefined;
238
+ };
239
+ export type ConversationResponse = {
240
+ conversation: ConversationData;
241
+ };
242
+ export type WithUserData = {
243
+ user?: ConversationUserData | undefined;
244
+ };
245
+ export type UnreadCountResponse = {
246
+ archived?: number | undefined;
247
+ appeals?: number | undefined;
248
+ highlighted?: number | undefined;
249
+ notifications?: number | undefined;
250
+ joinRequests?: number | undefined;
251
+ filtered?: number | undefined;
252
+ new?: number | undefined;
253
+ inprogress?: number | undefined;
254
+ mod?: number | undefined;
255
+ };
256
+ type ParticipantSubreddit = {
257
+ id: string;
258
+ name: string;
259
+ };
260
+ export type GetConversationResponse = {
261
+ conversation?: ConversationData | undefined;
262
+ /** If the conversation is with another subreddit, what subreddit we are communicating with. */
263
+ participantSubreddit?: ParticipantSubreddit | undefined;
264
+ } & WithUserData;
265
+ export type GetConversationsResponse = {
266
+ /**
267
+ * Conversations key-value map
268
+ */
269
+ conversations: {
270
+ [id: string]: ConversationData;
271
+ };
272
+ viewerId?: string | undefined;
273
+ /**
274
+ * Array of conversation ids, ordered by the sort parameter specified in {@link GetConversationsRequest}.
275
+ */
276
+ conversationIds: string[];
277
+ };
278
+ /**
279
+ * Class providing the methods for working with Mod Mail
280
+ */
281
+ export declare class ModMailService {
282
+ #private;
283
+ readonly notificationSubjectPrefix = "[notification]";
284
+ /**
285
+ * @internal
286
+ */
287
+ constructor();
288
+ /**
289
+ * Marks all conversations read for a particular conversation state within the passed list of subreddits.
290
+ *
291
+ * @param subreddits Array of subreddit names
292
+ * @param state One of the possible conversation states ('all' to read all conversations)
293
+ *
294
+ * @returns conversationIds
295
+ *
296
+ * @example
297
+ * ```ts
298
+ * const conversationIds = await reddit.modMail.bulkReadConversations(
299
+ * ['askReddit', 'myAwesomeSubreddit'],
300
+ * 'filtered'
301
+ * );
302
+ * ```
303
+ */
304
+ bulkReadConversations(subreddits: string[], state: ConversationStateFilter): Promise<string[]>;
305
+ /**
306
+ * Get conversations for a logged in user or subreddits
307
+ *
308
+ * @param params.after id of a modmail
309
+ * @param params.subreddits array of subreddit names
310
+ * @param params.limit an integer between 1 and 100 (default: 25)
311
+ * @param params.sort one of (recent, mod, user, unread)
312
+ * @param params.state One of the possible conversation states ('all' to read all conversations)
313
+ *
314
+ * @example
315
+ * ```ts
316
+ * const {viewerId, conversations} = await reddit.modMail.getConversations({
317
+ * after: 'abcdef',
318
+ * limit: 42
319
+ * });
320
+ *
321
+ * const arrayOfConversations = Object.values(conversations);
322
+ * ```
323
+ */
324
+ getConversations(params: GetConversationsRequest): Promise<GetConversationsResponse>;
325
+ /**
326
+ * Returns all messages, mod actions and conversation metadata for a given conversation id
327
+ *
328
+ * @param params.conversationId id of a modmail conversation
329
+ * @param params.markRead should be marked as read (default: false)
330
+ *
331
+ * @example
332
+ * ```ts
333
+ * const { conversation, messages, modActions, user } = await reddit.modMail.getConversation({ conversationId: 'abcdef', markRead: true });
334
+ * ```
335
+ */
336
+ getConversation(params: {
337
+ /** a modmail conversation id */
338
+ conversationId: string;
339
+ /** mark read? */
340
+ markRead?: boolean;
341
+ }): Promise<GetConversationResponse>;
342
+ /**
343
+ * Returns a list of Subreddits that the user moderates with mail permission
344
+ *
345
+ * @example
346
+ * ```ts
347
+ * const subredditsData = await reddit.modMail.getSubreddits();
348
+ *
349
+ * for (const subreddit of Object.values(subreddits)) {
350
+ * console.log(subreddit.id);
351
+ * console.log(subreddit.name);
352
+ * }
353
+ * ```
354
+ */
355
+ getSubreddits(): Promise<{
356
+ [key: string]: SubredditData;
357
+ }>;
358
+ /**
359
+ * Creates a new conversation for a particular SR.
360
+ *
361
+ * This endpoint will create a ModmailConversation object
362
+ * as well as the first ModmailMessage within the ModmailConversation object.
363
+ *
364
+ * @note
365
+ * Note on {param.to}:
366
+ * The to field for this endpoint is somewhat confusing. It can be:
367
+ * - A User, passed like "username" or "u/username"
368
+ * - A Subreddit, passed like "r/subreddit"
369
+ * - null, meaning an internal moderator discussion
370
+ *
371
+ * In this way to is a bit of a misnomer in modmail conversations.
372
+ * What it really means is the participant of the conversation who is not a mod of the subreddit.
373
+ *
374
+ * If you plan to send a message to the app-account or a moderator of the subreddit, use {@link ModMailService.createModDiscussionConversation}, {@link ModMailService.createModInboxConversation}, or {@link ModMailService.createModNotification} instead.
375
+ * Otherwise, messages sent to the app-account or moderator will automatically be routed to Mod Discussions.
376
+ * @param params.body markdown text
377
+ * @param params.isAuthorHidden is author hidden? (default: false)
378
+ * @param params.subredditName subreddit name
379
+ * @param params.subject subject of the conversation. max 100 characters
380
+ * @param params.to a user (e.g. u/username), a subreddit (e.g. r/subreddit) or null
381
+ *
382
+ * @example
383
+ * ```ts
384
+ * const { conversation, messages, modActions } = await reddit.modMail.createConversation({
385
+ * subredditName: 'askReddit',
386
+ * subject: 'Test conversation',
387
+ * body: 'Lorem ipsum sit amet',
388
+ * to: null,
389
+ * });
390
+ * ```
391
+ */
392
+ createConversation(params: {
393
+ body: string;
394
+ isAuthorHidden?: boolean;
395
+ subredditName: string;
396
+ subject: string;
397
+ to?: string | null;
398
+ }): Promise<ConversationResponse & WithUserData>;
399
+ /**
400
+ * Creates a conversation in Mod Discussions with the moderators of the given subredditId.
401
+ *
402
+ * Note: The app must be installed in the subreddit in order to create a conversation in Mod Discussions.
403
+ *
404
+ * @param params.subject - The subject of the message.
405
+ * @param params.bodyMarkdown - The body of the message in Markdown format, e.g. `Hello world \n\n **Have a great day**`.
406
+ * @param params.subredditId - The ID (starting with `t5_`) of the subreddit to which to send the message, e.g. `t5_2qjpg`.
407
+ * @returns A Promise that resolves a string representing the conversationId of the message.
408
+ * @example
409
+ * ```ts
410
+ * const conversationId = await reddit.modMail.createModDiscussionConversation({
411
+ * subject: 'Test conversation',
412
+ * bodyMarkdown: '**Hello there** \n\n _Have a great day!_',
413
+ * subredditId: context.subredditId
414
+ * });
415
+ * ```
416
+ */
417
+ createModDiscussionConversation(params: {
418
+ subject: string;
419
+ bodyMarkdown: string;
420
+ subredditId: string;
421
+ }): Promise<string>;
422
+ /**
423
+ * Creates a conversation in the Modmail Inbox with the moderators of the given subredditId.
424
+ *
425
+ * @param params.subject - The subject of the message.
426
+ * @param params.bodyMarkdown - The body of the message in Markdown format, e.g. `Hello world \n\n **Have a great day**`.
427
+ * @param params.subredditId - The ID (starting with `t5_`) of the subreddit to which to send the message, e.g. `t5_2qjpg`.
428
+ * @returns A Promise that resolves a string representing the conversationId of the message.
429
+ * @example
430
+ * ```ts
431
+ * const conversationId = await reddit.modMail.createModInboxConversation({
432
+ * subject: 'Test conversation',
433
+ * bodyMarkdown: '**Hello there** \n\n _Have a great day!_',
434
+ * subredditId: context.subredditId
435
+ * });
436
+ * ```
437
+ */
438
+ createModInboxConversation(params: {
439
+ subject: string;
440
+ bodyMarkdown: string;
441
+ subredditId: string;
442
+ }): Promise<string>;
443
+ /**
444
+ * Creates a notification in the Modmail Inbox.
445
+ * This function is different from {@link ModMailService.createModInboxConversation} in that the conversation also appears in the "Notifications" section of Modmail.
446
+ *
447
+ * @param params.subject - The subject of the message.
448
+ * @param params.bodyMarkdown - The body of the message in Markdown format, e.g. `Hello world \n\n **Have a great day**`.
449
+ * @param params.subredditId - The ID (starting with `t5_`) of the subreddit to which to send the message, e.g. `t5_2qjpg`.
450
+ * @returns A Promise that resolves a string representing the conversationId of the message.
451
+ * @example
452
+ * ```ts
453
+ * const conversationId = await reddit.modMail.createModNotification({
454
+ * subject: 'Test notification',
455
+ * bodyMarkdown: '**Hello there** \n\n _This is a notification!_',
456
+ * subredditId: context.subredditId
457
+ * });
458
+ * ```
459
+ */
460
+ createModNotification(params: {
461
+ subject: string;
462
+ bodyMarkdown: string;
463
+ subredditId: string;
464
+ }): Promise<string>;
465
+ /**
466
+ * Creates a new message for a particular conversation.
467
+ *
468
+ * @param params.conversationId Id of a modmail conversation
469
+ * @param params.body markdown text
470
+ * @param params.isInternal is internal message? (default: false)
471
+ * @param params.isAuthorHidden is author hidden? (default: false)
472
+ *
473
+ * @example
474
+ * ```ts
475
+ * await reddit.modMail.reply({
476
+ * body: 'Lorem ipsum sit amet',
477
+ * conversationId: 'abcdef',
478
+ * });
479
+ * ```
480
+ */
481
+ reply(params: {
482
+ body: string;
483
+ isAuthorHidden?: boolean;
484
+ isInternal?: boolean;
485
+ conversationId: string;
486
+ }): Promise<ConversationResponse & WithUserData>;
487
+ /**
488
+ * Marks a conversation as highlighted.
489
+ *
490
+ * @param conversationId Id of a modmail conversation
491
+ *
492
+ * @example
493
+ * ```ts
494
+ * await reddit.modMail.highlightConversation('abcdef');
495
+ * ```
496
+ */
497
+ highlightConversation(conversationId: string): Promise<ConversationResponse>;
498
+ /**
499
+ * Removes a highlight from a conversation.
500
+ *
501
+ * @param conversationId Id of a modmail conversation
502
+ *
503
+ * @example
504
+ * ```ts
505
+ * await reddit.modMail.unhighlightConversation('abcdef');
506
+ * ```
507
+ */
508
+ unhighlightConversation(conversationId: string): Promise<ConversationResponse>;
509
+ /**
510
+ * Marks a conversation as archived
511
+ *
512
+ * @param conversationId Id of a modmail conversation
513
+ *
514
+ * @example
515
+ * ```ts
516
+ * await reddit.modMail.archive('abcdef');
517
+ * ```
518
+ */
519
+ archiveConversation(conversationId: string): Promise<ConversationResponse>;
520
+ /**
521
+ * Marks conversation as unarchived.
522
+ *
523
+ * @param conversationId Id of a modmail conversation
524
+ *
525
+ * @example
526
+ * ```ts
527
+ * await reddit.modMail.unarchiveConversation('abcdef');
528
+ * ```
529
+ */
530
+ unarchiveConversation(conversationId: string): Promise<ConversationResponse>;
531
+ /**
532
+ * Marks a conversation as read for the user.
533
+ *
534
+ * @param params.conversationId Id of a modmail conversation
535
+ * @param params.numHours For how many hours the conversation needs to be muted. Must be one of 72, 168, or 672 hours
536
+ *
537
+ * @example
538
+ * ```ts
539
+ * await reddit.modMail.muteConversation({ conversationId: 'abcdef', numHours: 72 });
540
+ * ```
541
+ */
542
+ muteConversation(params: {
543
+ conversationId: string;
544
+ numHours: 72 | 168 | 672;
545
+ }): Promise<ConversationResponse & WithUserData>;
546
+ /**
547
+ * Unmutes the non mod user associated with a particular conversation.
548
+ *
549
+ * @param conversationId Id of a modmail conversation
550
+ *
551
+ * @example
552
+ * ```ts
553
+ * await reddit.modMail.unmuteConversation('abcdef');
554
+ * ```
555
+ */
556
+ unmuteConversation(conversationId: string): Promise<ConversationResponse & WithUserData>;
557
+ /**
558
+ * Marks a conversations as read for the user.
559
+ *
560
+ * @param conversationIds An array of ids
561
+ *
562
+ * @example
563
+ * ```ts
564
+ * await reddit.modMail.readConversations(['abcdef', 'qwerty']);
565
+ * ```
566
+ */
567
+ readConversations(conversationIds: string[]): Promise<void>;
568
+ /**
569
+ * Marks conversations as unread for the user.
570
+ *
571
+ * @param conversationIds An array of ids
572
+ *
573
+ * @example
574
+ * ```ts
575
+ * await reddit.modMail.unreadConversations(['abcdef', 'qwerty']);
576
+ * ```
577
+ */
578
+ unreadConversations(conversationIds: string[]): Promise<void>;
579
+ /**
580
+ * Approve the non mod user associated with a particular conversation.
581
+ *
582
+ * @param conversationId Id of a modmail conversation
583
+ *
584
+ * @example
585
+ * ```ts
586
+ * await reddit.modMail.approveConversation('abcdef');
587
+ * ```
588
+ */
589
+ approveConversation(conversationId: string): Promise<ConversationResponse & WithUserData>;
590
+ /**
591
+ * Disapprove the non mod user associated with a particular conversation.
592
+ *
593
+ * @param conversationId Id of a modmail conversation
594
+ *
595
+ * @example
596
+ * ```ts
597
+ * await reddit.modMail.disapproveConversation('abcdef');
598
+ * ```
599
+ */
600
+ disapproveConversation(conversationId: string): Promise<ConversationResponse & WithUserData>;
601
+ /**
602
+ * Temporary ban (switch from permanent to temporary ban) the non mod user associated with a particular conversation.
603
+ *
604
+ * @param params.conversationId a modmail conversation id
605
+ * @param params.duration duration in days, max 999
606
+ *
607
+ * @example
608
+ * ```ts
609
+ * await reddit.modMail.tempBanConversation({ conversationId: 'abcdef', duration: 42 });
610
+ * ```
611
+ */
612
+ tempBanConversation(params: {
613
+ conversationId: string;
614
+ duration: number;
615
+ }): Promise<ConversationResponse & WithUserData>;
616
+ /**
617
+ * Unban the non mod user associated with a particular conversation.
618
+ *
619
+ * @param conversationId a modmail conversation id
620
+ *
621
+ * @example
622
+ * ```ts
623
+ * await reddit.modMail.unbanConversation('abcdef');
624
+ * ```
625
+ */
626
+ unbanConversation(conversationId: string): Promise<ConversationResponse & WithUserData>;
627
+ /**
628
+ * Endpoint to retrieve the unread conversation count by conversation state.
629
+ *
630
+ * @example
631
+ * ```ts
632
+ * const response = await reddit.modMail.getUnreadCount();
633
+ *
634
+ * console.log(response.highlighted);
635
+ * console.log(response.new);
636
+ * ```
637
+ */
638
+ getUnreadCount(): Promise<UnreadCountResponse>;
639
+ /**
640
+ * Returns recent posts, comments and modmail conversations for a given user.
641
+ *
642
+ * @param conversationId Id of a modmail conversation
643
+ *
644
+ * @example
645
+ * ```ts
646
+ * const data = await reddit.modMail.getUserConversations('abcdef');
647
+ *
648
+ * console.log(data.recentComments);
649
+ * console.log(data.recentPosts);
650
+ * ```
651
+ */
652
+ getUserConversations(conversationId: string): Promise<ConversationUserData>;
653
+ }
654
+ export {};
655
+ //# sourceMappingURL=ModMail.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModMail.d.ts","sourceRoot":"","sources":["../../src/models/ModMail.ts"],"names":[],"mappings":"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"}