| 61 | } |
| 62 | |
| 63 | export interface ChannelMessage { |
| 64 | /** Unique ID within the channel */ |
| 65 | id: string; |
| 66 | /** Channel/conversation ID */ |
| 67 | channelId: string; |
| 68 | /** Timestamp (ISO 8601) */ |
| 69 | timestamp: string; |
| 70 | /** Sender info */ |
| 71 | sender: { |
| 72 | id: string; |
| 73 | username: string; |
| 74 | displayName?: string; |
| 75 | isBot: boolean; |
| 76 | }; |
| 77 | /** Message content */ |
| 78 | text: string; |
| 79 | /** Attachments */ |
| 80 | attachments: ChannelAttachment[]; |
| 81 | /** Is this a direct mention/trigger of the bot? */ |
| 82 | isMention: boolean; |
| 83 | /** Reply-to message ID (for threaded conversations) */ |
| 84 | replyTo?: string; |
| 85 | /** Platform-specific metadata */ |
| 86 | metadata?: Record<string, unknown>; |
| 87 | } |
| 88 | |
| 89 | // --------------------------------------------------------------------------- |
| 90 | // Session (reserved for future expansion) |
nothing calls this directly
no outgoing calls
no test coverage detected