summary refs log tree commit diff
diff options
context:
space:
mode:
authorMathMan05 <mathmanrm@gmail.com>2026-02-13 12:30:56 -0600
committerRory& <root@rory.gay>2026-03-20 16:31:32 +0100
commita4ff9e9d41f05e7af3d7eb2debc186f6e1ad959e (patch)
tree6111a3301588b3d0918bad3f0dfa10a9504831c9
parentmove the check to the right spot (diff)
downloadserver-ts-a4ff9e9d41f05e7af3d7eb2debc186f6e1ad959e.tar.xz
switch messages to base message type
-rw-r--r--src/schemas/api/messages/Components.ts1
-rw-r--r--src/schemas/responses/GuildMessagesSearchResponse.ts4
-rw-r--r--src/schemas/uncategorised/MessageCreateSchema.ts4
-rw-r--r--src/schemas/uncategorised/ThreadCreationSchema.ts4
-rw-r--r--src/util/entities/Message.ts4
5 files changed, 9 insertions, 8 deletions
diff --git a/src/schemas/api/messages/Components.ts b/src/schemas/api/messages/Components.ts

index 23d08957..5fb888b5 100644 --- a/src/schemas/api/messages/Components.ts +++ b/src/schemas/api/messages/Components.ts
@@ -26,6 +26,7 @@ export interface ActionRowComponent extends MessageComponent { type: MessageComponentType.ActionRow; components: (ButtonComponent | StringSelectMenuComponent | SelectMenuComponent | TextInputComponent)[]; } +export type BaseMessageComponents = ActionRowComponent; export interface ButtonComponent extends MessageComponent { type: MessageComponentType.Button; diff --git a/src/schemas/responses/GuildMessagesSearchResponse.ts b/src/schemas/responses/GuildMessagesSearchResponse.ts
index 555092ee..8627b3fc 100644 --- a/src/schemas/responses/GuildMessagesSearchResponse.ts +++ b/src/schemas/responses/GuildMessagesSearchResponse.ts
@@ -18,7 +18,7 @@ // TODO: remove dependency on entities import { Attachment, Role } from "@spacebar/util"; -import { ActionRowComponent, Embed, MessageType, Poll, PublicUser } from "@spacebar/schemas"; +import { BaseMessageComponents, Embed, MessageType, Poll, PublicUser } from "@spacebar/schemas"; export interface GuildMessagesSearchMessage { id: string; @@ -36,7 +36,7 @@ export interface GuildMessagesSearchMessage { timestamp: string; edited_timestamp: string | null; flags: number; - components: ActionRowComponent[]; + components: BaseMessageComponents[]; poll: Poll; hit: true; } diff --git a/src/schemas/uncategorised/MessageCreateSchema.ts b/src/schemas/uncategorised/MessageCreateSchema.ts
index f1313291..ae506ecc 100644 --- a/src/schemas/uncategorised/MessageCreateSchema.ts +++ b/src/schemas/uncategorised/MessageCreateSchema.ts
@@ -17,7 +17,7 @@ */ import { InteractionType, Snowflake } from "@spacebar/util"; -import { ActionRowComponent, ApplicationCommandType, Embed, PollAnswer, PollMedia, PublicUser } from "@spacebar/schemas"; +import { ApplicationCommandType, BaseMessageComponents, Embed, PollAnswer, PollMedia, PublicUser } from "@spacebar/schemas"; export type MessageCreateAttachment = { id: string; @@ -60,7 +60,7 @@ export interface MessageCreateSchema { // TODO: we should create an interface for attachments attachments?: (MessageCreateAttachment | MessageCreateCloudAttachment)[]; sticker_ids?: string[] | null; // null check: fixes Discord-Go - components?: ActionRowComponent[] | null; // null check: fixes Discord-Go + components?: BaseMessageComponents[] | null; // null check: fixes Discord-Go // TODO: Fix TypeScript errors in src\api\util\handlers\Message.ts once this is enabled poll?: PollCreationSchema; enforce_nonce?: boolean; // For Discord compatibility, it's the default behavior here diff --git a/src/schemas/uncategorised/ThreadCreationSchema.ts b/src/schemas/uncategorised/ThreadCreationSchema.ts
index 1ad85ce7..76ed1385 100644 --- a/src/schemas/uncategorised/ThreadCreationSchema.ts +++ b/src/schemas/uncategorised/ThreadCreationSchema.ts
@@ -16,7 +16,7 @@ along with this program. If not, see <https://www.gnu.org/licenses/>. */ -import { ActionRowComponent, ChannelType, Embed } from "#schemas/api"; +import { BaseMessageComponents, ChannelType, Embed } from "#schemas/api"; import { MessageActivity } from "./MessageActivity"; import { MessageCreateAttachment, MessageCreateCloudAttachment } from "./MessageCreateSchema"; @@ -37,7 +37,7 @@ export interface ThreadCreationSchema { users?: string[]; replied_user?: boolean; }; - components?: ActionRowComponent[] | null; + components?: BaseMessageComponents[] | null; sticker_ids?: string[]; activity?: MessageActivity; application_id?: string; diff --git a/src/util/entities/Message.ts b/src/util/entities/Message.ts
index a4448a14..05e7dea5 100644 --- a/src/util/entities/Message.ts +++ b/src/util/entities/Message.ts
@@ -29,7 +29,7 @@ import { Webhook } from "./Webhook"; import { Sticker } from "./Sticker"; import { Attachment } from "./Attachment"; import { NewUrlUserSignatureData } from "../Signing"; -import { ActionRowComponent, ApplicationCommandType, Embed, MessageSnapshot, MessageType, PartialMessage, Poll, Reaction } from "@spacebar/schemas"; +import { ApplicationCommandType, BaseMessageComponents, Embed, MessageSnapshot, MessageType, PartialMessage, Poll, Reaction } from "@spacebar/schemas"; import { MessageFlags } from "@spacebar/util"; import { JsonRemoveEmpty } from "../util/Decorators"; @@ -209,7 +209,7 @@ export class Message extends BaseClass { @Column({ type: "simple-json", nullable: true }) @JsonRemoveEmpty - components?: ActionRowComponent[]; + components?: BaseMessageComponents[]; @Column({ type: "simple-json", nullable: true }) @JsonRemoveEmpty