如何按最后消息/更新日期排序Twilio Conversations用户对话?
按更新日期/最后消息排序Twilio用户对话
方案1:API内置排序参数
尽管官方文档未明确标注,但userConversations.list()支持通过参数指定排序规则,可直接从API获取有序结果:
sortBy:可选last_message_timestamp(按最后一条消息时间排序)或update_date(按对话更新时间排序)order:可选asc(升序)或desc(降序,最新对话排在最前)
修改后的代码如下:
const conversations = await client.conversations.v1 .users(user.twilioId) .userConversations.list({ limit: 20, sortBy: 'last_message_timestamp', order: 'desc' });
方案2:本地排序(API参数失效时备用)
如果API不支持指定排序规则,可先获取对话列表,再在本地按对应字段排序:
let conversations = await client.conversations.v1 .users(user.twilioId) .userConversations.list({ limit: 20 }); // 按最后消息时间降序排序 conversations.sort((a, b) => new Date(b.lastMessageTimestamp) - new Date(a.lastMessageTimestamp)); // 或按对话更新日期降序排序 // conversations.sort((a, b) => new Date(b.updateDate) - new Date(a.updateDate));
注意点
- 优先使用API排序,避免本地处理大量数据带来的性能损耗
- 确认返回的对话对象包含
lastMessageTimestamp或updateDate字段,若缺失可检查Twilio控制台的对话配置
内容的提问来源于stack exchange,提问作者SPR1NG
相关产品推荐
相关产品推荐

