获取 Twilio 中对话中的消息总数

问题描述 投票:0回答:1

我想使用 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();
node.js twilio twilio-api
1个回答
0
投票

我认为您正在寻找来自 twilio 的主要 Nodejs 包。但是,您链接了

@twilio/conversations
的文档。

当您切换到那里的其他图书馆时,您可能会没事。

© www.soinside.com 2019 - 2024. All rights reserved.