Options
All
  • Public
  • Public/Protected
  • All
Menu

RongIMLib - v5.16.0

Index

会话

消息

超级群

订阅用户状态

Enum

其他

好友

会话

  • 设置会话免打扰

    description

    支持按照 NotificationLevel 类型进行免打扰级别设置,级别描述如下:

    • -1: 全部消息通知(接收全部消息通知 -- 显示指定关闭免打扰功能)
    • 0: 未设置(向上查询群或者APP级别设置)//存量数据中0表示未设置
    • 1: 群聊超级群仅@消息通知(现在通知)单聊代表全部消息通知
    • 2: @ 指定用户通知
    • 3: @ 群用户组通知,通知用户组暂未实现,暂不暴露出去
    • 4: @ 群全员通知
    • 5: 消息通知被屏蔽,即不接收消息通知
    since

    5.3.0

    example

    设置会话免打扰示例:

    const options = {
    conversationType: RongIMLib.ConversationType.PRIVATE,
    targetId: 'targetId',
    }
    const notificationLevel = RongIMLib.NotificationLevel.NOT_MESSAGE_NOTIFICATION;
    const res = await RongIMLib.setConversationNotificationLevel(options, notificationLevel);
    console.info('设置会话免打扰结果:', res);

    Parameters

    Returns Promise<IAsyncRes<void>>

消息

  • 发送文件消息

    description

    发送文件消息的快捷方式,等同于使用 new FileMessage() 创建消息体后调用 sendMessage() 方法,支持文件上传,上传成功后自动发送消息

    example

    发送文本消息示例:

    const msgBody = { file }; // file 为待上传文件
    const conversation = {
    conversationType: RongIMLib.ConversationType.PRIVATE,
    targetId: 'targetId'
    }
    const sendRes = await RongIMLib.sendFileMessage(conversation, msgBody);
    console.info('消息发送结果:', sendRes);

    Parameters

    Returns Promise<IAsyncRes<IAReceivedMessage>>

    返回一个 IAsyncRes 类型 Promise,data 结构为 IAReceivedMessage 类型

  • 发送图片消息

    description

    发送图片消息的快捷方式,等同于使用 new ImageMessage() 创建消息体后调用 sendMessage() 方法,支持图片上传,上传成功后自动发送消息

    example

    发送图片消息示例:

    const msgBody = { file }; // file 为待上传图片
    const conversation = {
    conversationType: RongIMLib.ConversationType.PRIVATE,
    targetId: 'targetId'
    }
    const sendRes = await RongIMLib.sendImageMessage(conversation, msgBody);
    console.info('消息发送结果:', sendRes);

    Parameters

    Returns Promise<IAsyncRes<IAReceivedMessage>>

    返回一个 IAsyncRes 类型 Promise,data 结构为 IAReceivedMessage 类型

  • 发送 GIF 图片消息

    description

    发送 GIF 图片消息的快捷方式,等同于使用 new GIFMessage() 创建消息体后调用 sendMessage() 方法,支持 GIF 图片上传,上传成功后自动发送消息

    example

    发送 GIF 图片消息示例:

    const msgBody = { file }; // file 为待上传 GIF 图片
    const conversation = {
    conversationType: RongIMLib.ConversationType.PRIVATE,
    targetId: 'targetId'
    }
    const sendRes = await RongIMLib.sendGIFMessage(conversation, msgBody);
    console.info('消息发送结果:', sendRes);

    Parameters

    Returns Promise<IAsyncRes<IAReceivedMessage>>

    返回一个 IAsyncRes 类型 Promise,data 结构为 IAReceivedMessage 类型

  • 发送高清语音消息

    description

    待发送的文件必须为 AAC 音频文件。 发送高清语音消息的快捷方式,等同于使用 new HQVoiceMessage() 创建消息体后调用 sendMessage() 方法,支持高清语音上传,上传成功后自动发送消息

    example

    发送高清语音消息示例:

    const msgBody = { file }; // file 为待上传高清语音
    const conversation = {
    conversationType: RongIMLib.ConversationType.PRIVATE,
    targetId: 'targetId'
    }
    const sendRes = await RongIMLib.sendHQVoiceMessage(conversation, msgBody);
    console.info('消息发送结果:', sendRes);

    Parameters

    Returns Promise<IAsyncRes<IAReceivedMessage>>

    返回一个 IAsyncRes 类型 Promise,data 结构为 IAReceivedMessage 类型

  • 发送小视频消息

    description

    发送的小视频消息必须是 MP4 文件,且音频编码为 AAC,视频编码 H264,否则可能造成 iOS 或 Android 接收后不可播放问题。 发送小视频消息的快捷方式,等同于使用 new SightMessage() 创建消息体后调用 sendMessage() 方法,支持小视频上传,上传成功后自动发送消息

    example

    发送小视频消息示例:

    const msgBody = { file, duration: 10, thumbnail: 'base64' }; // file 为待上传小视频,duration 为小视频时长,thumbnail 为小视频封面 base64
    const conversation = {
    conversationType: RongIMLib.ConversationType.PRIVATE,
    targetId: 'targetId'
    }
    const sendRes = await RongIMLib.sendSightMessage(conversation, msgBody);
    console.info('消息发送结果:', sendRes);

    Parameters

    Returns Promise<IAsyncRes<IAReceivedMessage>>

    返回一个 IAsyncRes 类型 Promise,data 结构为 IAReceivedMessage 类型

  • 多端同步阅读状态

    description

    由于未读消息数存储在本地,服务器不存未读消息数量。当用户多端登录时,需要同步未读消息数以保证多端未读数一致

    example

    多端同步阅读状态示例:

    const conversation = {
    conversationType: RongIMLib.ConversationType.PRIVATE,
    targetId: 'targetId',
    }
    const timestamp = 1632728573423; // 阅读消息的 sendTime
    const syncReadStatusRes = await RongIMLib.sendSyncReadStatusMessage(conversation, timestamp);
    console.info('多端同步阅读状态:', syncReadStatusRes);

    Parameters

    • conversation: IConversationOption

      会话信息

    • timestamp: number

      需要同步消息阅读的时间戳,可以在消息体中通过消息的 sendTime 获取

    Returns Promise<IAsyncRes<void>>

  • 按消息 UId 删除消息

    description

    根据消息的 ID、时间戳和方向(发送或接收)从服务端删除指定单个会话中的一条或一组消息。

    • 注意
    1. 删除消息仅会删除本端消息,不会删除对端消息。A 与 B 之间的消息,A 删除消息后,B 仍然可以看到消息。如 B 需要无法查看需要调用撤回消息 recallMessage接口。
    2. 仅适用于 App Key 已开通单群聊消息云端存储 的 App。
    3. 服务端默认不会删除对应的离线消息补偿,如需彻底删除消息补偿,请提交工单,申请开通删除服务端历史消息时同时删除多端补偿的离线消息。
    example

    按消息 UId 删除消息示例:

    const conversation = {
    conversationType: RongIMLib.ConversationType.PRIVATE,
    targetId: 'targetId',
    };
    const messages = [{
    messageUId: 'BS4O-P5AO-D1O6-9GPP', // 消息 UId
    sentTime: 1632728573423, // 消息发送时间
    messageDirection: RongIMLib.MessageDirection.SEND, // 消息方向
    }];
    const deleteRes = await RongIMLib.deleteMessages(conversation, messages);
    console.info('删除消息结果:', deleteRes);

    Parameters

    Returns Promise<IAsyncRes<void>>

  • 更新(添加、替换)消息扩展属性

    description

    消息扩展功能可为消息增加基于 Key/Value 的状态标识。消息的扩展信息可在发送前、后设置或更新,可用于实现消息评论、礼物领取、订单状态变化等业务需求。

    • 注意
    1. 单条消息单次最多可设置 20 个扩展信息 KV 对,总计不可超过 300 个扩展信息 KV 对。
    2. 消息扩展(Key、Value 扩展信息)会被存储。如已开通历史消息云存储功能,从服务端获取的历史消息也会携带已设置的扩展信息。
    3. 仅支持单聊、群聊会话类型,不支持聊天室类型。
    4. 仅当发送消息时指定 canIncludeExpansion 值为 true,才可对消息进行拓展。
    example

    更新(添加、替换)消息扩展属性示例:

    const expansion = { key1: 'value1' };
    // message 为 IAReceivedMessage 类型消息体,此处不做具体示例,可在消息监听或者获取历史消息接口获取需要操作的 message
    const updateRes = await RongIMLib.updateMessageExpansion(expansion, message);
    console.info('更新消息扩展属性结果:', updateRes);

    Parameters

    • expansion: {}

      要更新的消息扩展信息键值对

      • [key: string]: any
    • message: IAReceivedMessage

      要更新的原始消息体

    Returns Promise<IAsyncRes<void>>

  • 删除扩展存储

    description

    删除消息扩展信息中指定的 Key

    params

    keys 需删除消息扩展的 keys

    params

    message 原始消息体

    example

    删除扩展存储示例:

    const keys = ['key1'];
    // message 为 IAReceivedMessage 类型消息体,此处不做具体示例,可在消息监听或者获取历史消息接口获取需要操作的 message
    const removeRes = await RongIMLib.removeMessageExpansionForKey(keys, message);
    console.info('删除扩展存储结果:', removeRes);

    Parameters

    Returns Promise<IAsyncRes<void>>

  • registerMessageType<T>(messageType: string, isPersited: boolean, isCounted: boolean, searchProps?: string[], isStatusMessage?: boolean): (new (content: T) => BaseMessage<T>)
  • 注册自定义消息

    description

    注册自定义消息,用于定义自定义消息的类型,会影响消息的发送和接收

    • 注意
    1. 注册自定义消息代码必须在发送、接收该自定义消息之前
    2. 推荐将所有注册自定义消息代码放在 init 方法之后, connect 方法之前
    3. 注册的消息类型名, 必须多端一致, 否则消息无法互通
    4. 请勿使用 RC: 开头的类型名,以免和 SDK 默认的消息名称冲突,自定义消息的消息类型名如和 SDK 默认的消息类型名相同以 SDK 默认的消息定义名为准
    5. 需要再 connect 之前调用防止手消息行为异常
    example
    const messageType = 'CustomMessage';
    const isPersited = true;
    const isCounted = true;
    const searchProps = ['content']; // 搜索字段
    const isStatusMsg = false;
    const CustomMessage = RongIMLib.registerMessageType(messageType, isPersited, isCounted, searchProps, isStatusMsg);

    Type Parameters

    • T

    Parameters

    • messageType: string

      消息类型

    • isPersited: boolean

      是否存储

    • isCounted: boolean

      是否计数

    • Optional searchProps: string[]

      可搜索的属性,web 端无需设置,搜索字段值设置为数字时取值范围为 (-Math.pow(2, 64), Math.pow(2, 64)) 且为整数

    • Optional isStatusMessage: boolean

      是否状态消息,状态消息不计数,不存储,接收方在线时才能收到

    Returns (new (content: T) => BaseMessage<T>)

    返回一个 BaseMessage 类型的构造函数

超级群

  • 从服务端获取特定批量消息

    description

    根据消息的 Uid 从服务端获取特定批量消息

    since

    5.2.0 仅 Web 端 IMLib 支持超级群。Electron 解决方案暂不适用于超级群业务。

    example

    从服务端获取特定批量消息示例:

    const options = {
    conversationType: RongIMLib.ConversationType.ULTRA_GROUP,
    targetId: 'targetId',
    channelId: 'channelId',
    };
    // sendTime 为消息的发送时间,此处示例为假数据
    const messages = [{ messageUId: 'messageUId1', sendTime: 1626864000000, }];
    const res = await RongIMLib.getUltraGroupMessageListByMessageUId(options, messages);
    console.log('从服务端获取特定批量消息结果:', res);

    Parameters

    Returns Promise<IAsyncRes<{}>>

    返回一个 IAsyncRes 类型 Promise,data 为消息列表,code 接口返回状态码 从 SDK 版本 @since 5.7.0 开始,该接口的返回数据类型由 IReceivedMessage 变更为 IAReceivedMessage

  • 设置、更新消息扩展信息

    description

    设置、更新消息扩展信息,用于超级群消息扩展信息的设置、更新,消息扩展信息

    • 适用场景:原始消息增加状态标识的需求,都可使用消息扩展
    1. 消息评论需求,可通过设置原始消息扩展信息的方式添加评论信息。
    2. 礼物领取、订单状态变化需求,通过此功能改变消息显示状态。 例如:向用户发送礼物,默认为未领取状态,用户点击后可设置消息扩展为已领取状态
    • 注意
    1. 每次设置消息扩展将会产生内置通知消息,频繁设置扩展会产生大量消息
    2. 仅当发送消息时指定 canIncludeExpansion 值为 true,才可对消息进行扩展
    since

    5.2.0 仅 Web 端 IMLib 支持超级群。Electron 解决方案暂不适用于超级群业务。

    example

    设置、更新消息扩展信息示例:

    const expansion = { key1: 'value1' };
    const message = {} // 需要设置的消息,类型为 IAReceivedMessage
    const res = await RongIMLib.updateExpansionForUltraGroupMessage(expansion, message);
    console.log('设置、更新消息扩展信息结果:', res);

    Parameters

    • expansion: {}

      消息扩展信息,类型是 Object。Key 支持大小写英文字母、数字、 特殊字符+ = - _ 的组合方式,不支持汉字。最大 32 个字符。
      (SDK < 5.3.0)Value 最大 64 个字符
      (SDK ≧ 5.3.0)Value 最大 4096 个字符

      • [key: string]: any
    • message: IAReceivedMessage

      接收到的消息,类型是 IAReceivedMessage

    Returns Promise<IAsyncRes<void>>

    返回一个 IAsyncRes 类型 Promise,code 接口返回状态码

  • 删除消息扩展

    description

    删除消息扩展,用于超级群消息扩展信息的删除,消息扩展信息

    since

    5.2.0 仅 Web 端 IMLib 支持超级群。Electron 解决方案暂不适用于超级群业务。

    example

    删除消息扩展示例:

    const expansion = ['key1'];
    // message 需要删除扩展的消息,类型为 IAReceivedMessage,此处示例伪代码
    const res = await RongIMLib.removeExpansionForUltraGroupMessage(expansion, message);
    console.log('删除消息扩展结果:', res);

    Parameters

    • expansion: string[]

      消息扩展信息的 key 数组,类型是 Array。Key 支持大小写英文字母、数字、特殊字符+ = - _ 的组合方式,不支持汉字。最大 32 个字符

    • message: IAReceivedMessage

      接收到的消息,类型是 IAReceivedMessage

    Returns Promise<IAsyncRes<void>>

    返回一个 IAsyncRes 类型 Promise,code 接口返回状态码

  • 删除指定消息上的所有扩展

    description

    删除指定消息上的所有扩展,用于超级群消息扩展信息的删除,消息扩展信息

    since

    5.2.0 仅 Web 端 IMLib 支持超级群。Electron 解决方案暂不适用于超级群业务。

    example

    删除指定消息上的所有扩展示例:

    // message 需要删除扩展的消息,类型为 IAReceivedMessage,此处示例伪代码
    const res = await RongIMLib.removeAllExpansionForUltraGroupMessage(message);
    console.log('删除指定消息上的所有扩展结果:', res);

    Parameters

    Returns Promise<IAsyncRes<void>>

    返回一个 IAsyncRes 类型 Promise,code 接口返回状态码

  • 修改消息

    description

    用户在成功发送超级群消息后,可以主动修改已发送消息的消息内容 消息被修改后,IAReceivedMessage 对象的 isModifyMessage 属性会被更新为 true

    • 注意
    1. 消息类型无法修改。如果改前为文本消息,则传入的新消息内容必须为 ITextMessageBody 类型
    2. 无法修改他人发送的消息。
    since

    5.2.0 仅 Web 端 IMLib 支持超级群。Electron 解决方案暂不适用于超级群业务。

    example

    修改消息示例:

    const content = { text: '修改后的消息内容' };
    // message 需要修改的消息,类型为 IAReceivedMessage,此处示例伪代码
    const res = await RongIMLib.modifyMessage(content, message);
    console.log('修改消息结果:', res);

    Parameters

    Returns Promise<IAsyncRes<void>>

    返回一个 IAsyncRes 类型 Promise,code 接口返回状态码

订阅用户状态

  • subscribeUserStatus(userIds: string[], subscribeType: SubscribeType, expiry: number): Promise<IAsyncRes<string[]>>
  • 订阅用户状态

    description

    此方法用于订阅一组用户的状态。当这些用户的状态发生变化时,将通过回调接口通知调用者 注意

    1. 一次订阅用户的上限为 200 个, 订阅的用户数最多为 1000 个,一个用户最多可以被 5000 个用户订阅
    2. 订阅用户在线状态能力需要开通服务,开通路径: IM 服务 > IM 服务管理 > 客户端用户在线状态订阅
    since

    5.9.8

    example

    订阅用户状态示例:

    const userIds = ['user1', 'user2'];
    const subscribeType = RongIMLib.SubscribeType.ONLINE_STATUS;
    // 设置订阅时间,取值范围为[60,2592000](单位:秒)。
    const expiry = 60;
    const res = await RongIMLib.subscribeUserStatus(userIds, subscribeType, expiry);
    console.log('订阅用户状态结果:', res);

    Parameters

    • userIds: string[]

      被订阅用户 ID 列表,一次最多订阅 200 个用户

    • subscribeType: SubscribeType

      订阅类型

    • expiry: number

      订阅有效期,取值范围为[60,2592000](单位:秒)

    Returns Promise<IAsyncRes<string[]>>

    返回一个 IAsyncRes 类型 Promise,订阅错误为 26021 时返回被订阅达上限(用户最多可以被 5000 个用户订阅)的用户 ID 列表

其他

IProcessCode: { processCode: ErrorCode }

Type declaration

IAsyncRes<T>: Pick<RCResult<T>, "code" | "data"> & { msg?: string }

Type Parameters

  • T = void

IPromiseResult<T>: Promise<IAsyncRes<T>>

Type Parameters

  • T = void

IErrorKeys: { errorKeys?: string[] }

Type declaration

  • Optional errorKeys?: string[]
IUpdateMyProfileFail: IErrorKeys & { errorKey: string }
EnableLogL: DEBUG | INFO | WARN | ERROR
IEventListener: ((...args: any[]) => void)

Type declaration

    • (...args: any[]): void
    • Parameters

      • Rest ...args: any[]

      Returns void

IRemoveChatRoomEntries: IRemoveChatroomEntries
IChatRoomEntry: IChatroomEntry
IChatRoomEntries: IChatroomEntries
IRemoveChatRoomEntry: IRemoveChatroomEntry
IStreamMessageResponseChunkData: { content: string; fullContent: string }

Type declaration

  • content: string
  • fullContent: string
  • addToBlacklist(userId: string): Promise<IAsyncRes<void>>
  • Parameters

    • userId: string

    Returns Promise<IAsyncRes<void>>

  • removeFromBlacklist(userId: string): Promise<IAsyncRes<void>>
  • Parameters

    • userId: string

    Returns Promise<IAsyncRes<void>>

  • Returns Promise<IAsyncRes<string[]>>

  • getBlacklistStatus(userId: string): Promise<IAsyncRes<boolean>>
  • Parameters

    • userId: string

    Returns Promise<IAsyncRes<boolean>>

  • joinChatRoom(targetId: string, options: { count: number; extra?: string }): Promise<IAsyncRes<void>>
  • Parameters

    • targetId: string
    • options: { count: number; extra?: string }
      • count: number
      • Optional extra?: string

    Returns Promise<IAsyncRes<void>>

  • Parameters

    • targetId: string
    • options: { count: number; extra?: string }
      • count: number
      • Optional extra?: string

    Returns Promise<IAsyncRes<IChatroomJoinResponse>>

  • quitChatRoom(targetId: string): Promise<IAsyncRes<void>>
  • Parameters

    • targetId: string

    Returns Promise<IAsyncRes<void>>

  • getChatRoomInfo(targetId: string, options?: { count?: number; order?: 0 | 1 | 2 }): Promise<IAsyncRes<IChatroomInfo>>
  • Parameters

    • targetId: string
    • Optional options: { count?: number; order?: 0 | 1 | 2 }
      • Optional count?: number
      • Optional order?: 0 | 1 | 2

    Returns Promise<IAsyncRes<IChatroomInfo>>

  • Parameters

    Returns Promise<IAsyncRes<void>>

  • Parameters

    Returns Promise<IAsyncRes<void>>

  • Parameters

    Returns Promise<IAsyncRes<void>>

  • removeChatRoomEntries(targetId: string, options: { entries: string[]; notificationExtra?: string }): Promise<IAsyncRes<void>>
  • Parameters

    • targetId: string
    • options: { entries: string[]; notificationExtra?: string }
      • entries: string[]
      • Optional notificationExtra?: string

    Returns Promise<IAsyncRes<void>>

  • getChatRoomEntry(targetId: string, key: string): Promise<IAsyncRes<string | number | boolean>>
  • Parameters

    • targetId: string
    • key: string

    Returns Promise<IAsyncRes<string | number | boolean>>

  • getAllChatRoomEntries(targetId: string): Promise<IAsyncRes<{}>>
  • Parameters

    • targetId: string

    Returns Promise<IAsyncRes<{}>>

  • connect(token: string, reconnectKickEnable?: boolean): Promise<IAsyncRes<{ userId: string }>>
  • Parameters

    • token: string
    • Optional reconnectKickEnable: boolean

    Returns Promise<IAsyncRes<{ userId: string }>>

  • disconnect(closeDB?: boolean): Promise<void>
  • Parameters

    • Optional closeDB: boolean

    Returns Promise<void>

  • Parameters

    • Optional options: { count?: number; startTime?: number; order?: 0 | 1 }
      • Optional count?: number
      • Optional startTime?: number
      • Optional order?: 0 | 1
    • Optional channelId: string

    Returns Promise<IAsyncRes<IAReceivedConversation[]>>

  • Parameters

    Returns Promise<IAsyncRes<number>>

  • Returns Promise<IAsyncRes<ErrorCode>>

  • Parameters

    Returns Promise<IAsyncRes<void>>

  • Parameters

    Returns Promise<IAsyncRes<void>>

  • getAllUnreadMentionedCount(): Promise<IAsyncRes<number>>
  • Returns Promise<IAsyncRes<number>>

  • getAllConversationState(): Promise<IAsyncRes<IConversationState[]>>
  • Returns Promise<IAsyncRes<IConversationState[]>>

  • Parameters

    • Optional options: { count?: number; startTime?: number; order?: 0 | 1 }
      • Optional count?: number
      • Optional startTime?: number
      • Optional order?: 0 | 1

    Returns Promise<IAsyncRes<IAReceivedConversation[]>>

  • getRealtimeConTotalUnreadCount(): Promise<IAsyncRes<number>>
  • Returns Promise<IAsyncRes<number>>

  • addEventListener<T>(eventType: T, listener: EventListeners[T], target?: any): void
  • Type Parameters

    Parameters

    Returns void

  • onceEventListener<T>(eventType: T, listener: EventListeners[T], target?: any): void
  • Type Parameters

    Parameters

    Returns void

  • removeEventListener<T>(eventType: T, listener: EventListeners[T], target?: any): void
  • Type Parameters

    Parameters

    Returns void

  • removeEventListeners(eventType: string): void
  • Parameters

    • eventType: string

    Returns void

  • clearEventListeners(): void
  • Returns void

  • Parameters

    • userId: string
    • directionType: BOTH
    • Optional extra: string

    Returns Promise<IAsyncRes<IProcessCode>>

  • deleteFriends(userIds: string[], directionType: BOTH): Promise<IAsyncRes<void>>
  • Parameters

    • userIds: string[]
    • directionType: BOTH

    Returns Promise<IAsyncRes<void>>

  • acceptFriendApplication(userId: string): Promise<IAsyncRes<void>>
  • Parameters

    • userId: string

    Returns Promise<IAsyncRes<void>>

  • setFriendInfo(userId: string, remark?: string, extProfile?: {}): Promise<IAsyncRes<IErrorKeys>>
  • Parameters

    • userId: string
    • remark: string = ''
    • extProfile: {} = {}
      • [key: string]: string

    Returns Promise<IAsyncRes<IErrorKeys>>

  • Parameters

    • userIds: string[]

    Returns Promise<IAsyncRes<IFriendInfo[]>>

  • Parameters

    • name: string

    Returns Promise<IAsyncRes<IFriendInfo[]>>

  • Parameters

    Returns Promise<IAsyncRes<ICreateGroupFail>>

  • Parameters

    • groupIds: string[]

    Returns Promise<IAsyncRes<IGroupInfo[]>>

  • Parameters

    Returns Promise<IAsyncRes<void>>

  • Parameters

    Returns Promise<IAsyncRes<void>>

  • dismissGroup(groupId: string): Promise<IAsyncRes<void>>
  • Parameters

    • groupId: string

    Returns Promise<IAsyncRes<void>>

  • transferGroupOwner(groupId: string, newOwnerId: string, quitGroup?: boolean, config?: IQuitGroupConfig): Promise<IAsyncRes<void>>
  • Parameters

    • groupId: string
    • newOwnerId: string
    • quitGroup: boolean = false
    • config: IQuitGroupConfig = ...

    Returns Promise<IAsyncRes<void>>

  • addGroupManagers(groupId: string, userIds: string[]): Promise<IAsyncRes<void>>
  • Parameters

    • groupId: string
    • userIds: string[]

    Returns Promise<IAsyncRes<void>>

  • removeGroupManagers(groupId: string, userIds: string[]): Promise<IAsyncRes<void>>
  • Parameters

    • groupId: string
    • userIds: string[]

    Returns Promise<IAsyncRes<void>>

  • Parameters

    • groupId: string
    • userIds: string[]

    Returns Promise<IAsyncRes<IGroupMemberInfo[]>>

  • setGroupMemberInfo(groupId: string, userId: string, nickname: string, extra?: string): Promise<IAsyncRes<IErrorKeys>>
  • Parameters

    • groupId: string
    • userId: string
    • nickname: string
    • Optional extra: string

    Returns Promise<IAsyncRes<IErrorKeys>>

  • Parameters

    • groupId: string

    Returns Promise<IAsyncRes<IProcessCode>>

  • Parameters

    • groupId: string
    • userIds: string[]

    Returns Promise<IAsyncRes<IProcessCode>>

  • acceptGroupInvite(groupId: string, inviterId: string): Promise<IAsyncRes<void>>
  • Parameters

    • groupId: string
    • inviterId: string

    Returns Promise<IAsyncRes<void>>

  • refuseGroupInvite(groupId: string, inviterId: string, reason?: string): Promise<IAsyncRes<void>>
  • Parameters

    • groupId: string
    • inviterId: string
    • Optional reason: string

    Returns Promise<IAsyncRes<void>>

  • acceptGroupApplication(groupId: string, applicantId: string, inviterId?: string): Promise<IAsyncRes<IProcessCode>>
  • Parameters

    • groupId: string
    • applicantId: string
    • Optional inviterId: string

    Returns Promise<IAsyncRes<IProcessCode>>

  • refuseGroupApplication(groupId: string, applicantId: string, inviterId?: string, reason?: string): Promise<IAsyncRes<void>>
  • Parameters

    • groupId: string
    • applicantId: string
    • Optional inviterId: string
    • Optional reason: string

    Returns Promise<IAsyncRes<void>>

  • Parameters

    • groupIds: string[]

    Returns Promise<IAsyncRes<IGroupInfo[]>>

  • setGroupRemark(groupId: string, remark: string): Promise<IAsyncRes<void>>
  • Parameters

    • groupId: string
    • remark: string

    Returns Promise<IAsyncRes<void>>

  • addGroupFollows(groupId: string, userIds: string[]): Promise<IAsyncRes<void>>
  • Parameters

    • groupId: string
    • userIds: string[]

    Returns Promise<IAsyncRes<void>>

  • removeGroupFollows(groupId: string, userIds: string[]): Promise<IAsyncRes<void>>
  • Parameters

    • groupId: string
    • userIds: string[]

    Returns Promise<IAsyncRes<void>>

  • Parameters

    • groupId: string

    Returns Promise<IAsyncRes<IFollowsInfo[]>>

  • Parameters

    Returns void

  • destroy(): Promise<void>
  • Returns Promise<void>

  • getServerTime(): number
  • Returns number

  • getCurrentUserId(): string
  • Returns string

  • __addSDKVersion(name: string, version: string): void
  • Parameters

    • name: string
    • version: string

    Returns void

  • getDeviceId(): string
  • Returns string

  • installPlugin<T, O>(plugin: IPluginGenerator<T, O>, options: O): T | null
  • Type Parameters

    • T

    • O

    Parameters

    • plugin: IPluginGenerator<T, O>
    • options: O

    Returns T | null

  • Parameters

    • messageId: string | number

    Returns Promise<RCResult<IAReceivedMessage>>

ISendBody: IUserInfo & IExtraData & { file: File } & IMentionedInfo & IAuditInfo
ISendFileMessageOptions: ISendBody
ISendImageMessageOptions: ISendBody
ISendSightMessageOptions: { duration: number; thumbnail: string; name?: string } & ISendBody
  • sendReadReceiptMessage(targetId: string, messageUId: string, timestamp: number, channelId?: string): Promise<IAsyncRes<void>>
  • Parameters

    • targetId: string
    • messageUId: string
    • timestamp: number
    • Optional channelId: string

    Returns Promise<IAsyncRes<void>>

  • sendReadReceiptRequest(targetId: string, messageUId: string, channelId?: string): Promise<IAsyncRes<void>>
  • Parameters

    • targetId: string
    • messageUId: string
    • Optional channelId: string

    Returns Promise<IAsyncRes<void>>

  • sendReadReceiptResponse(targetId: string, messageUIds: string[], channelId?: string): Promise<IAsyncRes<void>>
  • Parameters

    • targetId: string
    • messageUIds: string[]
    • Optional channelId: string

    Returns Promise<IAsyncRes<void>>

  • sendReadReceiptResponseV2(targetId: string, messageList?: {}, channelId?: string): Promise<IAsyncRes<void>>
  • Parameters

    • targetId: string
    • Optional messageList: {}
      • [senderUserId: string]: string[]
    • Optional channelId: string

    Returns Promise<IAsyncRes<void>>

  • Parameters

    Returns Promise<IAsyncRes<void>>

  • Parameters

    Returns Promise<IAsyncRes<void>>

  • Parameters

    Returns Promise<IAsyncRes<void>>

  • Parameters

    • targetId: string
    • messageUId: string
    • Optional channelId: string

    Returns Promise<IAsyncRes<IMessageReaderResponse>>

  • Parameters

    Returns Promise<IAsyncRes<{ messages: IAReceivedMessage[]; count: number | undefined }>>

  • Parameters

    Returns Promise<IAsyncRes<void>>

  • Parameters

    • keyword: string
    • Optional conversationTypes: ConversationType[]
    • Optional messageTypes: string[]
    • Optional channelId: string

    Returns Promise<IAsyncRes<IReceivedConversation[] | undefined>>

  • Parameters

    Returns Promise<IAsyncRes<void>>

  • setMessageReceivedStatus(messageId: number, receivedStatus: number): Promise<IAsyncRes<void>>
  • Parameters

    • messageId: number
    • receivedStatus: number

    Returns Promise<IAsyncRes<void>>

  • requestStreamMessageContent(messageUId: string): Promise<RCResult>
  • Parameters

    • messageUId: string

    Returns Promise<RCResult>

CombineV2MessageContent: ICombineV2MessageContent & IExtraData & IUserInfo & IMentionedInfo
MessageConstructor<T>: (new (content: T) => BaseMessage<T>)

Type Parameters

  • T

Type declaration

  • removeNotificationQuietHoursSetting(): Promise<RCResult>
  • Returns Promise<RCResult>

  • Parameters

    Returns Promise<IAsyncRes<void>>

  • Parameters

    Returns Promise<IAsyncRes<void>>

  • removeTag(tagId: string): Promise<IAsyncRes<void>>
  • Parameters

    • tagId: string

    Returns Promise<IAsyncRes<void>>

  • Parameters

    Returns Promise<IAsyncRes<void>>

  • Returns Promise<IAsyncRes<ITagInfo[] | undefined>>

  • getUnreadCountByTag(tagId: string, containMuted: boolean): Promise<IAsyncRes<number | undefined>>
  • Parameters

    • tagId: string
    • containMuted: boolean

    Returns Promise<IAsyncRes<number | undefined>>

  • Parameters

    Returns Promise<IAsyncRes<void>>

  • getUltraGroupUnreadMentionedCountByTargetId(targetId: string, notificationLevels?: NotificationLevel[]): Promise<IAsyncRes<number>>
  • Parameters

    Returns Promise<IAsyncRes<number>>

  • Parameters

    Returns Promise<IAsyncRes<number>>

  • getAllUltraGroupUnreadCount(): Promise<IAsyncRes<number>>
  • Returns Promise<IAsyncRes<number>>

  • getAllUltraGroupUnreadMentionedCount(): Promise<IAsyncRes<number>>
  • Returns Promise<IAsyncRes<number>>

  • stopUploadTask(taskId: number): Promise<IAsyncRes<boolean>>
  • Parameters

    • taskId: number

    Returns Promise<IAsyncRes<boolean>>

  • getFileToken(fileType: FileType, fileName?: string, httpMethod?: "POST" | "PUT", queryString?: string): Promise<IAsyncRes<IUploadAuth & { qiniu: string; ossConfig: string }>>
  • Parameters

    • fileType: FileType
    • Optional fileName: string
    • Optional httpMethod: "POST" | "PUT"
    • Optional queryString: string

    Returns Promise<IAsyncRes<IUploadAuth & { qiniu: string; ossConfig: string }>>

  • getDownloadAuth(url: string): Promise<IAsyncRes<{ deadline: number; token?: string; downloadAuthInfo?: IDownloadAuth }>>
  • Parameters

    • url: string

    Returns Promise<IAsyncRes<{ deadline: number; token?: string; downloadAuthInfo?: IDownloadAuth }>>

  • getFileUrl(fileType: FileType, filename: string, saveName?: string, _?: { isBosRes: boolean; downloadUrl: string }, serverType?: UploadMethod): Promise<IAsyncRes<{ downloadUrl: string }>>
  • Parameters

    • fileType: FileType
    • filename: string
    • Optional saveName: string
    • Optional _: { isBosRes: boolean; downloadUrl: string }
      • isBosRes: boolean
      • downloadUrl: string
    • Optional serverType: UploadMethod

    Returns Promise<IAsyncRes<{ downloadUrl: string }>>

ConnectType: { COMET: string; WEBSOCKET: string } = ...

Type declaration

  • COMET: string
  • WEBSOCKET: string
MessageType: { TEXT: string; VOICE: string; HQ_VOICE: string; IMAGE: string; GIF: string; RICH_CONTENT: string; LOCATION: string; FILE: string; SIGHT: string; COMBINE: string; COMBINE_V2: string; CHRM_KV_NOTIFY: string; LOG_COMMAND: string; EXPANSION_NOTIFY: string; REFERENCE: string; RECALL_MESSAGE_TYPE: string } = ...

Type declaration

  • TEXT: string
  • VOICE: string
  • HQ_VOICE: string
  • IMAGE: string
  • GIF: string
  • RICH_CONTENT: string
  • LOCATION: string
  • FILE: string
  • SIGHT: string
  • COMBINE: string
  • COMBINE_V2: string
  • CHRM_KV_NOTIFY: string
  • LOG_COMMAND: string
  • EXPANSION_NOTIFY: string
  • REFERENCE: string
  • RECALL_MESSAGE_TYPE: string
MentionedInfo: { type?: 1 | 2; userIdList?: string[] }

Type declaration

  • Optional type?: 1 | 2
  • Optional userIdList?: string[]
IRecallMessageOptions: Omit<IRecallMsgOptions, "pushContent">
IInitOption: { appkey: string; logLevel?: LogLevel; logOutputLevel?: EnableLogL; logStdout?: any; navigators?: string[]; connectType?: "websocket" | "comet"; customCMP?: string[]; indexDBSwitch?: boolean; checkCA?: boolean; uploadDomain?: string; httpInMainProcess?: boolean; logExpireTime?: number; areaCode?: AreaCode; logServerUrl?: string; environment?: string }

Type declaration

  • appkey: string
  • Optional logLevel?: LogLevel
  • Optional logOutputLevel?: EnableLogL
  • logStdout?:function
    • logStdout(logLevel: LogLevel, content: string): void
    • Parameters

      Returns void

  • Optional navigators?: string[]
  • Optional connectType?: "websocket" | "comet"
  • Optional customCMP?: string[]
  • Optional indexDBSwitch?: boolean
  • Optional checkCA?: boolean
  • Optional uploadDomain?: string
  • Optional httpInMainProcess?: boolean

    开启后,SDK 内的 HTTP 请求将由 Electron 主进程内发送。

    since

    5.6.0

    description

    仅在 Electron 环境中搭配 @rongcloud/electron-renderer@rongcloud/electron 包时有效。

    • 当值为 true 时,HTTP 请求由 Electron 主进程内发送,不受浏览器安全沙箱策略限制。
    • 当值为 false 时,保持使用 Chromium 的 XMLHttpRequest 发送 HTTP 协议请求, 请求由渲染进程内发出,受浏览器安全沙箱策略限制。
    defautl

    false

  • Optional logExpireTime?: number
  • Optional areaCode?: AreaCode
  • Optional logServerUrl?: string
  • Optional environment?: string
GetHistoryMessageOption: { timestamp?: number; count?: number; order?: 0 | 1 }

Type declaration

  • Optional timestamp?: number
  • Optional count?: number
  • Optional order?: 0 | 1
GetHistoryMessageResult: { list: IAReceivedMessage[]; hasMore: boolean }

Type declaration

EventListeners: { CONNECTING: any; CONNECTED: any; DISCONNECT: any; SUSPEND: any; MESSAGES: any; READ_RECEIPT_RECEIVED: any; MESSAGE_RECEIPT_REQUEST: any; MESSAGE_RECEIPT_RESPONSE: any; CONVERSATION: any; CHATROOM: any; EXPANSION: any; PULL_OFFLINE_MESSAGE_FINISHED: any; TAG: any; CONVERSATION_TAG: any; TYPING_STATUS: any; MESSAGE_BLOCKED: any; ULTRA_GROUP_ENABLE: any; OPERATE_STATUS: any; ULTRA_GROUP_MESSAGE_EXPANSION_UPDATED: any; ULTRA_GROUP_MESSAGE_MODIFIED: any; ULTRA_GROUP_MESSAGE_RECALLED: any; ULTRA_GROUP_CHANNEL_TYPE_CHANGE: any; ULTRA_GROUP_CHANNEL_DELETE: any; ULTRA_GROUP_CHANNEL_USER_KICKED: any; USER_GROUP_STATUS: any; PRIVATE_MESSAGE_DELIVERED: any; GROUP_MESSAGE_DELIVERED: any; MESSAGE_READ_RECEIPT_V4: any; SYNC_READ_STATUS: any; SUBSCRIBED_USER_STATUS_CHANGE: any; SUBSCRIBED_RELATION_CHANGE: any; SYNC_SUBSCRIBED_USER_STATUS_FINISHED: any; OWN_USER_PROFILE_CHANGED: any; GROUP_OPERATION: any; GROUP_INFO_CHANGED: any; GROUP_MEMBER_INFO_CHANGED: any; GROUP_APPLICATION_EVENT: any; GROUP_REMARK_CHANGED_SYNC: any; GROUP_FOLLOWS_CHANGED_SYNC: any; FRIEND_ADDED: any; FRIEND_DELETE: any; FRIEND_APPLICATION_STATUS_CHANGED: any; FRIEND_CLEARED: any; FRIEND_INFO_CHANGED_SYNC: any; DATABASE_UPGRADE_WILL_START: any; DATABASE_UPGRADING: any; DATABASE_UPGRADE_DID_COMPLETE: any; STREAM_MESSAGE_RESPONSE: any }

Type declaration

  • CONNECTING:function
    • CONNECTING(): void
    • Returns void

  • CONNECTED:function
    • CONNECTED(): void
    • Returns void

  • DISCONNECT:function
    • Parameters

      Returns void

  • SUSPEND:function
    • Parameters

      Returns void

  • MESSAGES:function
    • Parameters

      Returns void

  • READ_RECEIPT_RECEIVED:function
  • MESSAGE_RECEIPT_REQUEST:function
  • MESSAGE_RECEIPT_RESPONSE:function
  • CONVERSATION:function
    • Parameters

      Returns void

  • CHATROOM:function
  • EXPANSION:function
  • PULL_OFFLINE_MESSAGE_FINISHED:function
    • PULL_OFFLINE_MESSAGE_FINISHED(): void
    • Returns void

  • TAG:function
    • TAG(): void
    • Returns void

  • CONVERSATION_TAG:function
    • CONVERSATION_TAG(): void
    • Returns void

  • TYPING_STATUS:function
    • Parameters

      Returns void

  • MESSAGE_BLOCKED:function
    • Parameters

      Returns void

  • ULTRA_GROUP_ENABLE:function
  • OPERATE_STATUS:function
    • Parameters

      Returns void

  • ULTRA_GROUP_MESSAGE_EXPANSION_UPDATED:function
    • Parameters

      Returns void

  • ULTRA_GROUP_MESSAGE_MODIFIED:function
    • Parameters

      Returns void

  • ULTRA_GROUP_MESSAGE_RECALLED:function
    • Parameters

      Returns void

  • ULTRA_GROUP_CHANNEL_TYPE_CHANGE:function
  • ULTRA_GROUP_CHANNEL_DELETE:function
  • ULTRA_GROUP_CHANNEL_USER_KICKED:function
  • USER_GROUP_STATUS:function
    • Parameters

      Returns void

  • PRIVATE_MESSAGE_DELIVERED:function
    • Parameters

      Returns void

  • GROUP_MESSAGE_DELIVERED:function
  • MESSAGE_READ_RECEIPT_V4:function
    • Parameters

      Returns void

  • SYNC_READ_STATUS:function
    • Parameters

      Returns void

  • SUBSCRIBED_USER_STATUS_CHANGE:function
  • SUBSCRIBED_RELATION_CHANGE:function
  • SYNC_SUBSCRIBED_USER_STATUS_FINISHED:function
    • Parameters

      Returns void

  • OWN_USER_PROFILE_CHANGED:function
    • Parameters

      Returns void

  • GROUP_OPERATION:function
    • Parameters

      Returns void

  • GROUP_INFO_CHANGED:function
    • Parameters

      Returns void

  • GROUP_MEMBER_INFO_CHANGED:function
  • GROUP_APPLICATION_EVENT:function
  • GROUP_REMARK_CHANGED_SYNC:function
  • GROUP_FOLLOWS_CHANGED_SYNC:function
  • FRIEND_ADDED:function
    • Parameters

      Returns void

  • FRIEND_DELETE:function
    • Parameters

      Returns void

  • FRIEND_APPLICATION_STATUS_CHANGED:function
  • FRIEND_CLEARED:function
    • FRIEND_CLEARED(data: number): void
    • Parameters

      • data: number

      Returns void

  • FRIEND_INFO_CHANGED_SYNC:function
  • DATABASE_UPGRADE_WILL_START:function
    • DATABASE_UPGRADE_WILL_START(): void
    • Returns void

  • DATABASE_UPGRADING:function
    • DATABASE_UPGRADING(progress: number): void
    • Parameters

      • progress: number

      Returns void

  • DATABASE_UPGRADE_DID_COMPLETE:function
    • DATABASE_UPGRADE_DID_COMPLETE(code: ErrorCode): void
    • Parameters

      Returns void

  • STREAM_MESSAGE_RESPONSE:function
    • STREAM_MESSAGE_RESPONSE(evt: IStreamMessageResponseEventData<IAReceivedMessage>): void
    • Parameters

      Returns void

IStreamMessageResponseEventData: IInnerStreamMessageResponseEventData<IAReceivedMessage>

好友

  • refuseFriendApplication(userId: string): Promise<IAsyncRes<void>>
  • 拒绝加为好友

    since

    5.12.0

    Parameters

    • userId: string

      拒绝成为好友的用户ID // * @param reason 拒绝原因。非必填项,长度不超过 128 个字符。

    Returns Promise<IAsyncRes<void>>