node-nim
Version:
NetEase IM nodejs wrapper based on NetEase IM C++ SDK
468 lines (467 loc) • 17.7 kB
TypeScript
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>;
}