@rocket.chat/apps-engine
Version:
The engine code for the Rocket.Chat Apps which manages, runs, translates, coordinates and all of that.
43 lines (42 loc) • 2.16 kB
TypeScript
import type { IMessageAction } from './IMessageAction';
import type { IMessageAttachmentAuthor } from './IMessageAttachmentAuthor';
import type { IMessageAttachmentField } from './IMessageAttachmentField';
import type { IMessageAttachmentTitle } from './IMessageAttachmentTitle';
import type { MessageActionButtonsAlignment } from './MessageActionButtonsAlignment';
/**
* Interface which represents an attachment which can be added to a message.
*/
export interface IMessageAttachment {
/** Causes the image, audio, and video sections to be hidding when this is true. */
collapsed?: boolean;
/** The color you want the order on the left side to be, supports any valid background-css value. */
color?: string;
/** The text to display for this attachment. */
text?: string;
/** Displays the time next to the text portion. */
timestamp?: Date;
/** Only applicable if the timestamp is provided, as it makes the time clickable to this link. */
timestampLink?: string;
/** An image that displays to the left of the text, looks better when this is relatively small. */
thumbnailUrl?: string;
/** Author portion of the attachment. */
author?: IMessageAttachmentAuthor;
/** Title portion of the attachment. */
title?: IMessageAttachmentTitle;
/** The image to display, will be "big" and easy to see. */
imageUrl?: string;
/** Audio file to play, only supports what html's <audio> does. */
audioUrl?: string;
/** Video file to play, only supports what html's <video> does. */
videoUrl?: string;
/** The type of attachment this is, although hardly used and only used for `file`s. */
type?: string;
/** Allows users to describe what the attachment is. */
description?: string;
/** States how the action buttons are aligned. */
actionButtonsAlignment?: MessageActionButtonsAlignment;
/** Allows displaying action items, such as buttons, on the attachment. */
actions?: Array<IMessageAction>;
/** The field property of the attachments allows for "tables" or "columns" to be displayed on messages. */
fields?: Array<IMessageAttachmentField>;
}