我想使用 NodeJS 客户端获取对话中的消息总数。我发现有一种对话方法:https://sdk.twilio.com/js/conversations/releases/2.1.0/docs/classes/Conversation.html#getMessagesCount
但是,该方法在节点库中不可用:https://www.twilio.com/docs/conversations/api/conversation-resource
我正在通过以下方式获取对话:
const userConversation = await client.conversations
.services(conversation_service_sid)
.users(user_id)
.userConversations(conversation_sid)
.fetch();
const conversation = await client.conversations
.services(conversation_service_sid)
.conversations(conversation_sid)
.fetch();
UserConversationInstance
和ConversationInstance
都没有这个方法。
我正在使用
"twilio": "^3.70.0",
我可以通过获取整个消息列表并获取其大小来获取消息数量。这一定不是最好的做法。 你能帮我用另一种方式得到它吗?
let messages = await client.conversations
.services(conversation_service_sid)
.conversations(conversation_sid)
.messages.list();
let messagesCount = messages.length;
谢谢
使用
@twilio/conversations
更新:
import twilio from "twilio";
import { Client } from '@twilio/conversations';
const AccessToken = twilio.jwt.AccessToken;
const ChatGrant = AccessToken.ChatGrant;
const chatGrant = new ChatGrant({
serviceSid: conversationServiceSID,
});
const token = new AccessToken(
accountSid,
twilioApiKey,
twilioApiSecret,
{identity: userId}
);
token.addGrant(chatGrant);
const newclient = new Client(token.toJwt());
let conversation = await newclient.getConversationBySid(conversationSID);
let messagesCount = await conversation.getMessagesCount();