@rocket.chat/apps-engine
Version:
The engine code for the Rocket.Chat Apps which manages, runs, translates, coordinates and all of that.
53 lines (52 loc) • 1.88 kB
TypeScript
import type { IMessage } from '../messages';
import type { IRoom } from '../rooms';
import type { IUser } from '../users';
interface IUIKitIncomingInteractionActionButtonBase {
triggerId: string;
type: 'actionButton';
user: IUser;
actionId: string;
appId: string;
payload: Record<string, any>;
}
interface IUIKitIncomingInteractionActionButtonMessageBox {
triggerId: string;
type: 'actionButton';
room: IRoom;
tmid?: string;
user: IUser;
actionId: string;
appId: string;
payload: {
context: 'messageBoxAction';
message?: string;
};
}
export declare const isUIKitIncomingInteractionActionButtonMessageBox: (interaction: IUIKitIncomingInteractionActionButtonBase) => interaction is IUIKitIncomingInteractionActionButtonMessageBox;
interface IUIKitIncomingInteractionActionButtonMessage extends IUIKitIncomingInteractionActionButtonBase {
room: IRoom;
tmid?: string;
message: IMessage;
payload: {
context: 'messageAction';
};
}
interface IUIKitIncomingInteractionActionButtonRoomSidebar extends IUIKitIncomingInteractionActionButtonBase {
room: IRoom;
payload: {
context: 'roomSideBarAction';
};
}
interface IUIKitIncomingInteractionActionButtonRoom extends IUIKitIncomingInteractionActionButtonBase {
room: IRoom;
payload: {
context: 'roomAction';
};
}
interface IUIKitIncomingInteractionActionButtonUserDropdown extends IUIKitIncomingInteractionActionButtonBase {
payload: {
context: 'userDropdownAction';
};
}
export type IUIKitIncomingInteractionActionButton = IUIKitIncomingInteractionActionButtonMessageBox | IUIKitIncomingInteractionActionButtonMessage | IUIKitIncomingInteractionActionButtonRoomSidebar | IUIKitIncomingInteractionActionButtonRoom | IUIKitIncomingInteractionActionButtonUserDropdown;
export {};