Skip to content

Commit 71c6d26

Browse files
authored
feat: support new pinned messages routes (#1254)
1 parent 7fbb3e3 commit 71c6d26

File tree

12 files changed

+324
-10
lines changed

12 files changed

+324
-10
lines changed

deno/payloads/v10/channel.ts

Lines changed: 14 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

deno/payloads/v9/channel.ts

Lines changed: 14 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

deno/rest/v10/channel.ts

Lines changed: 47 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

deno/rest/v10/mod.ts

Lines changed: 21 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

deno/rest/v9/channel.ts

Lines changed: 45 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

deno/rest/v9/mod.ts

Lines changed: 21 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

payloads/v10/channel.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2454,3 +2454,17 @@ export type APIMessageSnapshotFields = Pick<
24542454
| 'timestamp'
24552455
| 'type'
24562456
>;
2457+
2458+
/**
2459+
* @see {@link https://discord.com/developers/docs/resources/message#message-pin-object}
2460+
*/
2461+
export interface APIMessagePin {
2462+
/**
2463+
* The time the message was pinned
2464+
*/
2465+
pinned_at: string;
2466+
/**
2467+
* The pinned message
2468+
*/
2469+
message: APIMessage;
2470+
}

payloads/v9/channel.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2451,3 +2451,17 @@ export type APIMessageSnapshotFields = Pick<
24512451
| 'timestamp'
24522452
| 'type'
24532453
>;
2454+
2455+
/**
2456+
* @see {@link https://discord.com/developers/docs/resources/message#message-pin-object}
2457+
*/
2458+
export interface APIMessagePin {
2459+
/**
2460+
* The time the message was pinned
2461+
*/
2462+
pinned_at: string;
2463+
/**
2464+
* The pinned message
2465+
*/
2466+
message: APIMessage;
2467+
}

rest/v10/channel.ts

Lines changed: 47 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import type {
2424
ChannelFlags,
2525
APIAttachment,
2626
APIMessageTopLevelComponent,
27+
APIMessagePin,
2728
} from '../../payloads/v10/index';
2829
import type { _AddUndefinedToPossiblyUndefinedPropertiesOfInterface, _StrictPartial } from '../../utils/internals';
2930
import type { RESTAPIPoll } from './poll';
@@ -617,17 +618,60 @@ export type RESTPostAPIChannelFollowersResult = APIFollowedChannel;
617618
export type RESTPostAPIChannelTypingResult = never;
618619

619620
/**
620-
* @see {@link https://discord.com/developers/docs/resources/channel#get-pinned-messages}
621+
* @see {@link https://discord.com/developers/docs/resources/message#get-channel-pins}
622+
*/
623+
export interface RESTGetAPIChannelMessagesPinsQuery {
624+
/**
625+
* Get messages pinned before this timestamp
626+
*/
627+
before?: string;
628+
/**
629+
* Maximum number of pins to return (1-50).
630+
*
631+
* @defaultValue `50`
632+
*/
633+
limit?: number;
634+
}
635+
636+
/**
637+
* @see {@link https://discord.com/developers/docs/resources/message#get-channel-pins}
638+
*/
639+
export interface RESTGetAPIChannelMessagesPinsResult {
640+
/**
641+
* Array of pinned messages
642+
*/
643+
items: APIMessagePin[];
644+
/**
645+
* Whether there are more items available
646+
*/
647+
has_more: boolean;
648+
}
649+
650+
/**
651+
* @see {@link https://discord.com/developers/docs/resources/message#pin-message}
652+
*/
653+
export type RESTPutAPIChannelMessagesPinResult = never;
654+
655+
/**
656+
* @see {@link https://discord.com/developers/docs/resources/message#unpin-message}
657+
*/
658+
export type RESTDeleteAPIChannelMessagesPinResult = never;
659+
660+
/**
661+
* @see {@link https://discord.com/developers/docs/resources/message#get-pinned-messages-deprecated}
662+
* @deprecated
621663
*/
622664
export type RESTGetAPIChannelPinsResult = APIMessage[];
623665

624666
/**
625-
* @see {@link https://discord.com/developers/docs/resources/channel#pin-message}
667+
* @see {@link https://discord.com/developers/docs/resources/message#pin-message-deprecated}
668+
* @deprecated
626669
*/
627670
export type RESTPutAPIChannelPinResult = never;
628671

629672
/**
630-
* @see {@link https://discord.com/developers/docs/resources/channel#unpin-message}
673+
* @see {@link https://discord.com/developers/docs/resources/message#unpin-message-deprecated}
674+
* @deprecated
631675
*/
632676
export type RESTDeleteAPIChannelPinResult = never;
633677

rest/v10/index.ts

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,9 +181,28 @@ export const Routes = {
181181
return `/channels/${channelId}/typing` as const;
182182
},
183183

184+
/**
185+
* Route for:
186+
* - GET `/channels/{channel.id}/messages/pins`
187+
*/
188+
channelMessagesPins(channelId: Snowflake) {
189+
return `/channels/${channelId}/messages/pins` as const;
190+
},
191+
192+
/**
193+
* Route for:
194+
* - PUT `/channels/{channel.id}/messages/pins/{message.id}`
195+
* - DELETE `/channels/{channel.id}/messages/pins/{message.id}`
196+
*/
197+
channelMessagesPin(channelId: Snowflake, messageId: Snowflake) {
198+
return `/channels/${channelId}/messages/pins/${messageId}` as const;
199+
},
200+
184201
/**
185202
* Route for:
186203
* - GET `/channels/{channel.id}/pins`
204+
*
205+
* @deprecated Use {@link Routes.channelMessagesPins} instead.
187206
*/
188207
channelPins(channelId: Snowflake) {
189208
return `/channels/${channelId}/pins` as const;
@@ -193,6 +212,8 @@ export const Routes = {
193212
* Route for:
194213
* - PUT `/channels/{channel.id}/pins/{message.id}`
195214
* - DELETE `/channels/{channel.id}/pins/{message.id}`
215+
*
216+
* @deprecated Use {@link Routes.channelMessagesPin} instead.
196217
*/
197218
channelPin(channelId: Snowflake, messageId: Snowflake) {
198219
return `/channels/${channelId}/pins/${messageId}` as const;

0 commit comments

Comments
 (0)