get_messages
Retrieve chat messages with filters for keyword, time range, and sender. Supports pagination and compact text or JSON output.
Instructions
The primary tool for reading message content. Retrieves up to 500 messages per call with filters for keyword, time range, and sender. Use page to paginate. Returns plain text by default (set format=json for JSON, format=text for compact format). Always prefer this over execute_sql when reading messages.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| session_id | Yes | Session ID | |
| keyword | No | Substring search | |
| start_time | No | Start time as Unix timestamp (seconds) | |
| end_time | No | End time as Unix timestamp (seconds) | |
| sender_id | No | Filter by member platformId | |
| type | No | Filter by message type number | |
| page | No | Page number (default: 1) | |
| limit | No | Messages per page, max 500 (default: 20). Use pagination to retrieve more. | |
| format | No | Output format: text (default, compact to save tokens) or json | |
| merge_consecutive | No | Merge consecutive messages from same sender (text format only, default: true) | |
| filter_invalid | No | Filter meaningless messages like stickers, system messages (text format only, default: true) | |
| timezone | No | Timezone for time display, e.g., "Asia/Shanghai", "America/New_York", "UTC" (default: Asia/Shanghai) |