UNPKG

node-nim

Version:

NetEase IM nodejs wrapper based on NetEase IM C++ SDK

468 lines (467 loc) 17.7 kB
import { V2NIMCreateTeamParams, V2NIMAntispamConfig, V2NIMCreateTeamResult, V2NIMError, V2NIMUpdateTeamInfoParams, V2NIMTeam, V2NIMUpdateSelfMemberInfoParams, V2NIMTeamMemberQueryOption, V2NIMTeamMemberListResult, V2NIMTeamMember, V2NIMTeamInviteParams, V2NIMTeamJoinActionInfo, V2NIMTeamJoinActionInfoResult, V2NIMTeamJoinActionInfoQueryOption, V2NIMTeamMemberSearchOption, V2NIMUpdateMemberNickParams, V2NIMTeamSearchParams, V2NIMSearchTeamMemberParams, V2NIMTeamRefer } from 'ts/v2_def/v2_nim_struct_def'; import { EventEmitter } from 'eventemitter3'; import { V2NIMTeamChatBannedMode, V2NIMTeamMemberRole, V2NIMTeamType } from 'ts/v2_def/v2_nim_enum_def'; export declare interface V2NIMTeamListener { /** 群组信息同步开始 */ syncStarted: []; /** 群组信息同步完成 */ syncFinished: []; /** 群组信息同步失败 */ syncFailed: [V2NIMError]; /** 群组创建 */ teamCreated: [V2NIMTeam]; /** 加入群组 */ teamDismissed: [V2NIMTeam]; /** 群组创建 */ teamJoined: [V2NIMTeam]; /** 离开群组 */ teamLeft: [team: V2NIMTeam, isKicked: boolean]; /** 群组信息更新 */ teamInfoUpdated: [V2NIMTeam]; /** 群组成员加入 */ teamMemberJoined: [Array<V2NIMTeamMember>]; /** 群组成员被踢 */ teamMemberKicked: [operateAccountId: string, teamMembers: Array<V2NIMTeamMember>]; /** 群组成员退出群组 */ teamMemberLeft: [Array<V2NIMTeamMember>]; /** 群组成员信息变更 */ teamMemberInfoUpdated: [Array<V2NIMTeamMember>]; /** 收到入群信息 */ receiveTeamJoinActionInfo: [V2NIMTeamJoinActionInfo]; } /** @brief 存储服务 */ export declare class V2NIMTeamService extends EventEmitter<V2NIMTeamListener> { instance: any; constructor(); /** * @brief 创建群组 * @param createTeamParams 创建群组参数 * @param inviteeAccountIds 群组创建时, 同时被邀请加入群的成员列表 * @param postscript 群组创建时, 邀请入群的附言 * @param antispamConfig 反垃圾配置 * @returns Promise<V2NIMCreateTeamResult> * @example * ```javascript * const result = await v2.teamService.createTeam({ * name: 'team1', * teamType: 0, * }, inviteeAccountIds, postscript, antispamConfig) * ``` */ createTeam(createTeamParams: V2NIMCreateTeamParams, inviteeAccountIds: Array<string>, postscript: string, antispamConfig: V2NIMAntispamConfig): Promise<V2NIMCreateTeamResult>; /** * @brief 修改群组信息 * @param teamId 群组 id * @param teamType 群组类型 * @param updateTeamInfoParams 修改群组信息参数 * @param antispamConfig 反垃圾配置 * @returns void * @example * ```javascript * await v2.teamService.updateTeamInfo(teamId, teamType, { * name: 'team1', * }, antispamConfig) * ``` */ updateTeamInfo(teamId: string, teamType: V2NIMTeamType, updateTeamInfoParams: V2NIMUpdateTeamInfoParams, antispamConfig: V2NIMAntispamConfig): Promise<void>; /** * @brief 退出群组 * @param teamId 群组 id * @param teamType 群组类型 * @returns void * @example * ```javascript * await v2.teamService.leaveTeam(teamId, teamType) * ``` */ leaveTeam(teamId: string, teamType: V2NIMTeamType): Promise<void>; /** * @brief 获取群组信息 * @param teamId 群组 id * @param teamType 群组类型 * @returns Promise<V2NIMTeam> * @example * ```javascript * const team = await v2.teamService.getTeamInfo(teamId, teamType) * ``` */ getTeamInfo(teamId: string, teamType: V2NIMTeamType): Promise<V2NIMTeam>; /** * @brief 根据群组 ID 获取群组信息 * @param teamIds 群组 id 列表 * @param teamType 群组类型 * @returns Promise<Array<V2NIMTeam>> * @example * ```javascript * const teams = await v2.teamService.getTeamInfoByIds(teamIds, teamType) * ``` */ getTeamInfoByIds(teamIds: Array<string>, teamType: V2NIMTeamType): Promise<Array<V2NIMTeam>>; /** * @brief 解散群组 * @param teamId 群组 id * @param teamType 群组类型 * @returns void * @example * ```javascript * await v2.teamService.dismissTeam(teamId, teamType) * ``` */ dismissTeam(teamId: string, teamType: V2NIMTeamType): Promise<void>; /** * @brief 邀请成员加入群组 * @param teamId 群组 id * @param teamType 群组类型 * @param inviteeAccountIds 被邀请人 id 列表 * @param postscript 邀请附言 * @returns Promise<Array<string>> * @example * ```javascript * const accountIds = await v2.teamService.inviteMember(teamId, teamType, inviteeAccountIds, postscript) * ``` */ inviteMember(teamId: string, teamType: V2NIMTeamType, inviteeAccountIds: Array<string>, postscript: string): Promise<Array<string>>; /** * @brief 邀请成员加入群组 * @param teamId 群组 id * @param teamType 群组类型 * @param inviteeParams 被邀请加入群的参数 * @returns Promise<Array<string>> * @example * ```javascript * const accountIds = await v2.teamService.inviteMemberEx(teamId, teamType, inviteeParams) * ``` */ inviteMemberEx(teamId: string, teamType: V2NIMTeamType, inviteeParams: V2NIMTeamInviteParams): Promise<Array<string>>; /** * @brief 同意邀请入群 * @param invitationInfo 邀请信息 * @returns Promise<V2NIMTeam> * @example * ```javascript * const team = await v2.teamService.acceptInvitation(invitationInfo) * ``` */ acceptInvitation(invitationInfo: V2NIMTeamJoinActionInfo): Promise<V2NIMTeam>; /** * @brief 拒绝邀请入群 * @param invitationInfo 邀请信息 * @param postscript 拒绝邀请的理由附言 * @returns void * @example * ```javascript * await v2.teamService.rejectInvitation(invitationInfo, postscript) * ``` */ rejectInvitation(invitationInfo: V2NIMTeamJoinActionInfo, postscript: string): Promise<void>; /** * @brief 踢出群组成员 * @param teamId 群组 id * @param teamType 群组类型 * @param memberAccountIds 踢出群组的成员账号列表 * @returns void * @example * ```javascript * await v2.teamService.kickMember(teamId, teamType, memberAccountIds) * ``` */ kickMember(teamId: string, teamType: V2NIMTeamType, memberAccountIds: Array<string>): Promise<void>; /** * @brief 申请加入群组 * @param teamId 群组 id * @param teamType 群组类型 * @param postscript 申请入群的附言 * @returns Promise<V2NIMTeam> * @example * ```javascript * const team = await v2.teamService.applyJoinTeam(teamId, teamType, postscript) * ``` */ applyJoinTeam(teamId: string, teamType: V2NIMTeamType, postscript: string): Promise<V2NIMTeam>; /** * @brief 接受入群申请 * @param applicationInfo 申请信息 * @returns void * @example * ```javascript * await v2.teamService.acceptJoinApplication(applicationInfo) * ``` */ acceptJoinApplication(applicationInfo: V2NIMTeamJoinActionInfo): Promise<void>; /** * @brief 拒绝入群申请 * @param applicationInfo 申请信息 * @param postscript 拒绝入群申请的附言 * @returns void * @example * ```javascript * await v2.teamService.rejectJoinApplication(applicationInfo, postscript) * ``` */ rejectJoinApplication(applicationInfo: V2NIMTeamJoinActionInfo, postscript: string): Promise<void>; /** * @brief 设置成员角色 * @param teamId 群组 id * @param teamType 群组类型 * @param memberAccountIds 成员 id 列表 * @param memberRole 设置新的角色类型 * @returns void * @example * ```javascript * await v2.teamService.updateTeamMemberRole(teamId, teamType, memberAccountIds, memberRole) * ``` */ updateTeamMemberRole(teamId: string, teamType: V2NIMTeamType, memberAccountIds: Array<string>, memberRole: V2NIMTeamMemberRole): Promise<void>; /** * @brief 移交群主 * @param teamId 群组 id * @param teamType 群组类型 * @param accountId 新群主 id * @param leave 是否同时退出群组 * @returns void * @example * ```javascript * await v2.teamService.transferTeamOwner(teamId, teamType, accountId, leave) * ``` */ transferTeamOwner(teamId: string, teamType: V2NIMTeamType, accountId: string, leave: boolean): Promise<void>; /** * @brief 修改自己的群成员信息 * @param teamId 群组 id * @param teamType 群组类型 * @param memberInfoParams 修改群成员信息参数 * @returns void * @example * ```javascript * await v2.teamService.updateSelfTeamMemberInfo(teamId, teamType, memberInfoParams) * ``` */ updateSelfTeamMemberInfo(teamId: string, teamType: V2NIMTeamType, memberInfoParams: V2NIMUpdateSelfMemberInfoParams): Promise<void>; /** * @brief 修改群成员昵称 * @param teamId 群组 id * @param teamType 群组类型 * @param accountId 群成员 id * @param teamNick 群成员昵称 * @returns void * @example * ```javascript * await v2.teamService.updateTeamMemberNick(teamId, teamType, accountId, teamNick) * ``` */ updateTeamMemberNick(teamId: string, teamType: V2NIMTeamType, accountId: string, teamNick: string): Promise<void>; /** * @brief 修改群成员昵称 * @param teamId 群组 ID * @param teamType 群组类型 * @param nickParams 修改群成员昵称参数 * @returns void * @since v10.9.30 * @example * ```javascript * await v2.teamService.updateTeamMemberNickEx(teamId, teamType, { * accountId: 'member1', * teamNick: 'newNick', * }) * ``` */ updateTeamMemberNickEx(teamId: string, teamType: V2NIMTeamType, nickParams: V2NIMUpdateMemberNickParams): Promise<void>; /** * @brief 设置群组禁言模式 * @param teamId 群组 id * @param teamType 群组类型 * @param chatBannedMode 群组禁言模式 * @returns void * @example * ```javascript * await v2.teamService.setTeamChatBannedMode(teamId, teamType, chatBannedMode) * ``` */ setTeamChatBannedMode(teamId: string, teamType: V2NIMTeamType, chatBannedMode: V2NIMTeamChatBannedMode): Promise<void>; /** * @brief 设置群组成员聊天禁言状态 * @param teamId 群组 id * @param teamType 群组类型 * @param accountId 群成员 id * @param chatBanned 是否禁言 * @returns void * @example * ```javascript * await v2.teamService.setTeamMemberChatBannedStatus(teamId, teamType, accountId, chatBanned) * ``` */ setTeamMemberChatBannedStatus(teamId: string, teamType: V2NIMTeamType, accountId: string, chatBanned: boolean): Promise<void>; /** * @brief 获取当前已经加入的群组列表 * @param teamType 群组类型 * @returns Promise<Array<V2NIMTeam>> * @example * ```javascript * const teams = await v2.teamService.getJoinedTeamList(teamTypes) * ``` */ getJoinedTeamList(teamTypes: Array<V2NIMTeamType>): Promise<Array<V2NIMTeam>>; /** * @brief 获取当前已经加入的群组数量 * @param teamTypes 群组类型列表, 为空表示查询所有群类型 * @returns number * @example * ```javascript * const count = v2.teamService.getJoinedTeamCount(teamTypes) * ``` */ getJoinedTeamCount(teamTypes: Array<V2NIMTeamType>): number; /** * @brief 获取群组成员列表 * @param teamId 群组 id * @param teamType 群组类型 * @param queryOption 群组成员查询选项 * @returns Promise<V2NIMTeamMemberListResult> * @example * ```javascript * const result = await v2.teamService.getTeamMemberList(teamId, teamType, { * limit: 10, * nextToken: '' * }) * ``` */ getTeamMemberList(teamId: string, teamType: V2NIMTeamType, queryOption: V2NIMTeamMemberQueryOption): Promise<V2NIMTeamMemberListResult>; /** * @brief 根据账号 ID 列表获取群组成员列表 * @param teamId 群组 id * @param teamType 群组类型 * @param accountIds 账号 ID 列表 * @returns Promise<Array<V2NIMTeamMember>> * @example * ```javascript * const members = await v2.teamService.getTeamMemberListByIds(teamId, teamType, accountIds) * ``` */ getTeamMemberListByIds(teamId: string, teamType: V2NIMTeamType, accountIds: Array<string>): Promise<Array<V2NIMTeamMember>>; /** * @brief 根据账号 ID 列表获取群组成员邀请人 * @param teamId 群组 id * @param teamType 群组类型 * @param accountIds 账号 ID 列表 * @returns Promise<Map<string, string>> * @example * ```javascript * const invitorMap = await v2.teamService.getTeamMemberInvitor(teamId, teamType, accountIds) * ``` */ getTeamMemberInvitor(teamId: string, teamType: V2NIMTeamType, accountIds: Array<string>): Promise<Map<string, string>>; /** * @brief 获取群加入相关信息 * @param option 查询参数 * @returns Promise<V2NIMTeamJoinActionInfoResult> * @example * ```javascript * const result = await v2.teamService.getTeamJoinActionInfoList(option) * ``` */ getTeamJoinActionInfoList(option: V2NIMTeamJoinActionInfoQueryOption): Promise<V2NIMTeamJoinActionInfoResult>; /** * @brief 根据关键字搜索群组,混合搜索高级群和超大群,使用 LIKE 方式匹配,只搜索群名称 * @param keyword 关键字 * @returns Promise<Array<V2NIMTeam>> * @example * ```javascript * const teams = await v2.teamService.searchTeamByKeyword(keyword) * ``` */ searchTeamByKeyword(keyword: string): Promise<Array<V2NIMTeam>>; /** * @brief 本地搜索群组,混合搜索高级群和超大群,使用 FTS 方式匹配,搜索群名称 * @param params 群信息检索参数 * @returns Promise<Array<V2NIMTeam>> * @example * ```javascript * const teams = await v2.teamService.searchTeams(params) * ``` */ searchTeams(params: V2NIMTeamSearchParams): Promise<Array<V2NIMTeam>>; /** * @brief 根据关键字搜索群组成员 * @param option 搜索选项 * @returns Promise<V2NIMTeamMemberListResult> * @example * ```javascript * const result = await v2.teamService.searchTeamMembers(option) * ``` */ searchTeamMembers(option: V2NIMTeamMemberSearchOption): Promise<V2NIMTeamMemberListResult>; /** * @brief 本地全文检索群成员信息,可以指定是否检索群成员ID或者群成员昵称 * @param params 群成员检索参数 * @returns Promise<Map<V2NIMTeamRefer, Array<V2NIMTeamMember>>> * @example * ```javascript * const teams = await v2.teamService.searchTeamMembersEx(params) * ``` */ searchTeamMembersEx(params: V2NIMSearchTeamMemberParams): Promise<Map<V2NIMTeamRefer, Array<V2NIMTeamMember>>>; /** * @brief 添加特别关注群成员列表 * @param teamId 群组 id * @param teamType 群组类型 * @param accountIds 账号 id 列表 * @returns void * @example * ```javascript * await v2.teamService.addTeamMembersFollow(teamId, teamType, accountIds) * ``` */ addTeamMembersFollow(teamId: string, teamType: V2NIMTeamType, accountIds: Array<string>): Promise<void>; /** * @brief 移除特别关注群成员列表 * @param teamId 群组 id * @param teamType 群组类型 * @param accountIds 账号 id 列表 * @returns void * @example * ```javascript * await v2.teamService.removeTeamMembersFollow(teamId, teamType, accountIds) * ``` */ removeTeamMembersFollow(teamId: string, teamType: V2NIMTeamType, accountIds: Array<string>): Promise<void>; /** * @brief 清空所有群申请 * @returns void * @example * ```javascript * await v2.teamService.clearAllTeamJoinActionInfo() * ``` */ clearAllTeamJoinActionInfo(): Promise<void>; /** * @brief 删除群申请 * @param applicationInfo 群申请信息 * @returns void * @example * ```javascript * await v2.teamService.deleteTeamJoinActionInfo(applicationInfo) * ``` */ deleteTeamJoinActionInfo(applicationInfo: V2NIMTeamJoinActionInfo): Promise<void>; /** * @brief 获取自己所有加入的群的自己群成员信息 * @param teamTypes 群组类型列表, 为空表示查询所有群类型 * @returns Promise<Array<V2NIMTeamMember>> * @example * ```javascript * const members = await v2.teamService.getJoinedTeamMembers(teamTypes) * ``` */ getJoinedTeamMembers(teamTypes: Array<V2NIMTeamType>): Promise<Array<V2NIMTeamMember>>; /** * @brief 获取群申请/邀请未读数量 * @returns Promise<number> * @since v10.9.20 * @example * ```javascript * const count = await v2.teamService.getTeamJoinActionInfoUnreadCount() * ``` */ getTeamJoinActionInfoUnreadCount(): Promise<number>; setTeamJoinActionInfoRead(applicationInfo: V2NIMTeamJoinActionInfo): Promise<void>; }