slack-edge
Version:
Slack app development framework for edge functions with streamlined TypeScript support
33 lines • 1.23 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.isPostedMessageEvent = void 0;
/**
* Type guard that determines if a message event represents an actual posted message.
*
* A "posted message" is a message that was actively sent by a user or bot,
* as opposed to system-generated message events like message_changed or message_deleted.
*
* This includes:
* - Regular user messages (no subtype)
* - Bot messages (subtype: "bot_message")
* - File share messages (subtype: "file_share")
* - Thread broadcast messages (subtype: "thread_broadcast")
*
* @param event - The message event to check
* @returns true if the event represents an actual posted message
*
* @example
* ```typescript
* app.event("message", async ({ event }) => {
* if (isPostedMessageEvent(event)) {
* // Handle actual posted messages
* console.log(`New message: ${event.text}`);
* }
* });
* ```
*/
const isPostedMessageEvent = (event) => {
return (event.subtype === undefined || event.subtype === "bot_message" || event.subtype === "file_share" || event.subtype === "thread_broadcast");
};
exports.isPostedMessageEvent = isPostedMessageEvent;
//# sourceMappingURL=message-events.js.map