switch messages to base message type

This commit is contained in:
MathMan05
2026-02-13 12:30:56 -06:00
committed by Rory&
parent 9a2be1ff39
commit a4ff9e9d41
5 changed files with 9 additions and 8 deletions
+1
View File
@@ -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;
@@ -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;
}
@@ -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
@@ -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;
+2 -2
View File
@@ -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