English
curl -X POST "http://localhost:5001/channel/messagesync" \ -H "Content-Type: application/json" \ -d '{ "login_uid": "user123", "channel_id": "group123", "channel_type": 2, "start_message_seq": 1000, "end_message_seq": 1100, "limit": 50, "pull_mode": 0 }'
[ { "message_id": 123456789, "message_seq": 1001, "client_msg_no": "client_msg_123", "from_uid": "user123", "channel_id": "group123", "channel_type": 2, "timestamp": 1640995200, "payload": "SGVsbG8gV29ybGQ=" }, { "message_id": 123456790, "message_seq": 1002, "client_msg_no": "client_msg_124", "from_uid": "user456", "channel_id": "group123", "channel_type": 2, "timestamp": 1640995260, "payload": "SGkgdGhlcmU=" } ]
Sync historical messages from a specified channel
// Load last 50 messages const messages = await syncChannelMessages({ login_uid: "user123", channel_id: "group123", channel_type: 2, limit: 50, pull_mode: 0 });
// Load messages before a specific sequence const olderMessages = await syncChannelMessages({ login_uid: "user123", channel_id: "group123", channel_type: 2, end_message_seq: 1000, limit: 50, pull_mode: 1 });
async function exportChatHistory(channelId, channelType, loginUid) { let allMessages = []; let startSeq = 0; const batchSize = 1000; while (true) { const messages = await syncChannelMessages({ login_uid: loginUid, channel_id: channelId, channel_type: channelType, start_message_seq: startSeq, limit: batchSize, pull_mode: 0 }); if (messages.length === 0) break; allMessages = allMessages.concat(messages); startSeq = messages[messages.length - 1].message_seq + 1; } return allMessages; }
async function syncMissedMessages(channelId, channelType, loginUid, lastSeq) { const missedMessages = await syncChannelMessages({ login_uid: loginUid, channel_id: channelId, channel_type: channelType, start_message_seq: lastSeq + 1, limit: 1000, pull_mode: 0 }); return missedMessages; }