@fork-anyone/node-nim
Version:
NetEase IM nodejs wrapper based on NetEase IM C++ SDK
482 lines (481 loc) • 21.1 kB
TypeScript
import { EventEmitter } from 'eventemitter3';
import { IMMessage } from '../nim_def/msglog_def';
import { NIMTeamAPI, TeamInfo, TeamEventCallback, QueryAllMyTeamsCallback, QueryAllMyTeamsInfoCallback, QueryTeamMyAllMemberInfosCallback, QueryTeamMembersCallback, QueryTeamMemberCallback, QueryTeamInfoCallback, QueryTeamMembersOnlineCallback, TeamMsgAckReadCallback, QueryTeamMembersInvitorCallback, QueryTeamsInfoCallback, UpdateTInfoLocalCallback, GetTeamInfoBatchSFTransCallback, GetTeamInfoListCallback, TeamMemberProperty, TeamEvent, TeamMemberRoleTypeSearchOption, TeamMemberSerachResult } from '../nim_def/team_def';
import { NIMResCode } from '../nim_def/client_def';
export declare interface NIMTeamEvents {
/** 群事件 */
teamEvent: [TeamEvent];
}
export declare class NIMTeam extends EventEmitter<NIMTeamEvents> {
team: NIMTeamAPI;
constructor(sdk: any);
/** 注册全局回调 */
initEventHandlers(): void;
/** 创建群组
* @param team_info 群组信息
* @param ids 邀请对象id
* @param invitation_postscript 邀请附言
* @param jsonExtension json扩展参数(备用,目前不需要)
* @param cb 群通知的回调函数
* @return boolean 检查参数如果不符合要求则返回失败
* @deprecated 该接口已过时,请使用 createTeamAsyncEx 创建群组
* @note
* <pre>
* 200:成功
* 810:如果创建的是高级群,返回810表示邀请成功并带上tinfo
* 414:成员不足
* 801:成员数超限制
* 404:成员中有非法用户
* </pre>
*/
createTeamAsync(info: TeamInfo, ids: Array<string>, invitationPostscript: string, cb?: TeamEventCallback | null, jsonExtension?: string): Promise<[TeamEvent] | null>;
/** 创建群组
* @param team_info 群组信息
* @param ids 邀请对象id
* @param invitation_postscript 邀请附言
* @param jsonExtension json扩展参数(备用,目前不需要)
* @param cb 群通知的回调函数
* @return boolean 检查参数如果不符合要求则返回失败
* @note
* <pre>
* 200:成功
* 810:如果创建的是高级群,返回810表示邀请成功并带上tinfo
* 414:成员不足
* 801:成员数超限制
* 404:成员中有非法用户
* </pre>
*/
createTeamAsyncEx(info: TeamInfo, ids: Array<string>, invitationPostscript: string, cb?: TeamEventCallback | null, jsonExtension?: string): Promise<[TeamEvent] | null>;
/** 解散群
* @param tid 群组id
* @param jsonExtension json扩展参数(备用,目前不需要)
* @param cb 解散群的回调函数
* @return boolean 检查参数如果不符合要求则返回失败
* @note
* <pre>
* 200:成功
* 802:没有权限
* 803:群不存在
* </pre>
*/
dismissAsync(tid: string, cb?: TeamEventCallback | null, jsonExtension?: string): Promise<[TeamEvent] | null>;
/** 邀请
* @param tid 群组id
* @param ids 邀请对象id
* @param invitation_postscript 邀请附言
* @param invitation_attachment 用户可自定义的补充邀请信息
* @param jsonExtension json扩展参数(备用,目前不需要)
* @param cb 邀请的回调函数
* @return boolean 检查参数如果不符合要求则返回失败
* @note
* <pre>
* 200:成功
* 810:如果是高级群,返回810表示邀请成功并带上timetag
* 404:非法用户
* 801:群人数超限
* 802:没有权限
* 803:群不存在
* </pre>
*/
inviteAsync(tid: string, ids: Array<string>, invitationPostscript: string, invitationAttachment: string, cb?: TeamEventCallback | null, jsonExtension?: string): Promise<[TeamEvent] | null>;
/** 踢人
* @param tid 群组id
* @param ids 被踢对象id
* @param jsonExtension json扩展参数(备用,目前不需要)
* @param cb 踢人的回调函数
* @return boolean 检查参数如果不符合要求则返回失败
* @note
* <pre>
* 200:成功
* 403:无超大群功能
* 414:踢人数量超限
* 802:群人数超限、不能踢自己
* 803:群不存在
* 804:用户不在群里面
* </pre>
*/
kickAsync(tid: string, ids: Array<string>, cb?: TeamEventCallback | null, jsonExtension?: string): Promise<[TeamEvent] | null>;
/** 离开群
* @param tid 群组id
* @param jsonExtension json扩展参数(备用,目前不需要)
* @param cb 离开群的回调函数
* @return boolean 检查参数如果不符合要求则返回失败
* @note
* <pre>
* 200:成功
* 403:无超大群功能
* 802:没有群权限、群主不能退群
* 803:群不存在
* 804:用户不在群里
* </pre>
*/
leaveAsync(tid: string, cb?: TeamEventCallback | null, jsonExtension?: string): Promise<[TeamEvent] | null>;
/** 更新群信息
* @param tid 群组id
* @param team_info 群组信息
* @param jsonExtension json扩展参数(备用,目前不需要)
* @param cb 更新群信息的回调函数
* @return boolean 检查参数如果不符合要求则返回失败
* @note
* <pre>
* 200:成功
* 802:没有群权限、群主不能退群
* 803:群不存在
* </pre>
*/
updateTeamInfoAsync(tid: string, info: TeamInfo, cb?: TeamEventCallback | null, jsonExtension?: string): Promise<[TeamEvent] | null>;
/** 申请入群
* @param tid 群组id
* @param reason 附言
* @param jsonExtension json扩展参数(备用,目前不需要)
* @param cb 申请入群的回调函数
* @return boolean 检查参数如果不符合要求则返回失败
* @note
* <pre>
* 200:成功
* 802:群验证方式为拒绝所有人申请
* 808:申请成功,等待验证
* 809:已经在群里
* 801:人数限制
* 803:群不存在
* 805:群类型不对
* </pre>
*/
applyJoinAsync(tid: string, reason: string, cb?: TeamEventCallback | null, jsonExtension?: string): Promise<[TeamEvent] | null>;
/** 同意入群申请
* @param tid 群组id
* @param applicant_id 申请者id
* @param jsonExtension json扩展参数(备用,目前不需要)
* @param cb 同意入群申请的回调函数
* @return boolean 检查参数如果不符合要求则返回失败
* @note
* <pre>
* 200:成功
* 509:操作已失效
* 809:已经在群里
* 801:人数限制
* 802:没有权限
* 803:群不存在
* 805:群类型不对
* </pre>
*/
passJoinApplyAsync(tid: string, applicantId: string, cb?: TeamEventCallback | null, jsonExtension?: string): Promise<[TeamEvent] | null>;
/** 拒绝入群申请
* @param tid 群组id
* @param applicant_id 申请者id
* @param reason 附言
* @param jsonExtension json扩展参数(备用,目前不需要)
* @param cb 拒绝入群申请的回调函数
* @return boolean 检查参数如果不符合要求则返回失败
* @note
* <pre>
* 200:成功,如果用户处于申请状态则会通知申请用户被拒绝
* 509:操作已失效
* 802:没有权限
* 803:群不存在
* 805:群类型不对
* </pre>
*/
rejectJoinApplyAsync(tid: string, applicantId: string, reason: string, cb?: TeamEventCallback | null, jsonExtension?: string): Promise<[TeamEvent] | null>;
/** 添加管理员
* @param tid 群组id
* @param ids 管理员id
* @param jsonExtension json扩展参数(备用,目前不需要)
* @param cb 添加管理员的回调函数
* @return boolean 检查参数如果不符合要求则返回失败
* @note
* <pre>
* 200:成功
* 802:没有权限
* 803:群不存在
* 805:群类型不对
* </pre>
*/
addManagersAsync(tid: string, ids: Array<string>, cb?: TeamEventCallback | null, jsonExtension?: string): Promise<[TeamEvent] | null>;
/** 删除管理员
* @param tid 群组id
* @param ids 管理员id
* @param jsonExtension json扩展参数(备用,目前不需要)
* @param cb 删除管理员的回调函数
* @return boolean 检查参数如果不符合要求则返回失败
* @note
* <pre>
* 200:成功
* 802:没有权限
* 803:群不存在
* 805:群类型不对
* </pre>
*/
removeManagersAsync(tid: string, ids: Array<string>, cb?: TeamEventCallback | null, jsonExtension?: string): Promise<[TeamEvent] | null>;
/** 移交群主
* @param tid 群组id
* @param new_owner_id 移交对象id
* @param is_leave 是否同时退出群
* @param jsonExtension json扩展参数(备用,目前不需要)
* @param cb 移交群主的回调函数
* @return boolean 检查参数如果不符合要求则返回失败
* @note
* <pre>
* 200:成功
* 802:没有权限
* 803:群不存在
* 805:群类型不对
* 806:群数量上限
* </pre>
*/
transferTeamAsync(tid: string, newOwnerId: string, isLeave: boolean, cb?: TeamEventCallback | null, jsonExtension?: string): Promise<[TeamEvent] | null>;
/** 更新自己的群属性
* @param prop 群成员属性
* @param jsonExtension json扩展参数(备用,目前不需要)
* @param cb 更新自己的群属性的回调函数
* @return boolean 检查参数如果不符合要求则返回失败
* @note
* <pre>
* 200:成功
* 803:群不存在
* 804:不在群里
* 805:群类型不对
* </pre>
*/
updateMyPropertyAsync(prop: TeamMemberProperty, cb?: TeamEventCallback | null, jsonExtension?: string): Promise<[TeamEvent] | null>;
/** @fn boolean addTeamMembersFollow(tid: string, account_ids: Array<string>, cb?: TeamEventCallback)
* 添加群成员特别通知
* @param[in] tid 群组id
* @param[in] account_ids 群成员id
* @param[in] cb 添加群成员特别通知的回调函数
*/
addTeamMembersFollow(tid: string, account_ids: Array<string>, cb?: TeamEventCallback): Promise<[TeamEvent] | null>;
/** @fn boolean removeTeamMembersFollow(tid: string, account_ids: Array<string>, TeamEventCallback
* cb) 移除群成员特别通知
* @param[in] tid 群组id
* @param[in] account_ids 群成员id
* @param[in] cb 移除群成员特别通知的回调函数
*/
removeTeamMembersFollow(tid: string, account_ids: Array<string>, cb?: TeamEventCallback): Promise<[TeamEvent] | null>;
/** 修改别人的群昵称
* @param prop 群成员属性
* @param jsonExtension json扩展参数(备用,目前不需要)
* @param cb 修改别人的群昵称的回调函数
* @return boolean 检查参数如果不符合要求则返回失败
* @note
* <pre>
* 200:成功
* 802:没有权限
* 803:群不存在
* 804:不在群里
* 805:群类型不对
* </pre>
*/
updateOtherNickAsync(prop: TeamMemberProperty, cb?: TeamEventCallback | null, jsonExtension?: string): Promise<[TeamEvent] | null>;
/** 接受邀请
* @param tid 群组id
* @param invitor_id 邀请者id
* @param jsonExtension json扩展参数(备用,目前不需要)
* @param cb 接受邀请的回调函数
* @return boolean 检查参数如果不符合要求则返回失败
* @note
* <pre>
* 200:成功
* 802:没有权限
* 803:群不存在
* 805:群类型不对
* </pre>
*/
acceptInvitationAsync(tid: string, inviterId: string, cb?: TeamEventCallback | null, jsonExtension?: string): Promise<[TeamEvent] | null>;
/** 拒绝邀请
* @param tid 群组id
* @param invitor_id 邀请者id
* @param reason 附言
* @param jsonExtension json扩展参数(备用,目前不需要)
* @param cb 拒绝邀请的回调函数
* @return boolean 检查参数如果不符合要求则返回失败
* @note
* <pre>
* 200:成功
* 802:没有权限
* 803:群不存在
* 805:群类型不对
* </pre>
*/
rejectInvitationAsync(tid: string, inviterId: string, reason: string, cb?: TeamEventCallback | null, jsonExtension?: string): Promise<[TeamEvent] | null>;
/** 查询所有群
* @param jsonExtension json扩展参数(备用,目前不需要)
* @param cb 查询所有群的回调函数
* @return void 无返回值
*/
queryAllMyTeamsAsync(cb?: QueryAllMyTeamsCallback | null, jsonExtension?: string): Promise<[number, Array<string>]>;
/** 查询所有群信息
* @param jsonExtension json扩展参数(备用,目前不需要)
* @param cb 查询所有群信息的回调函数
* @return void 无返回值
*/
queryAllMyTeamsInfoAsync(cb?: QueryAllMyTeamsInfoCallback | null, jsonExtension?: string): Promise<[number, Array<TeamInfo>]>;
/** 查询所有群里我的成员信息(使用场景:获取了所有群列表后,需要查询自己在每个群里自己的成员信息,使用成员信息里的bits字段,可以判断当某个群发来消息后,是否做消息通知)
* @param jsonExtension json扩展参数(备用,目前不需要)
* @param cb 查询所有群里我的成员信息的回调函数
* @return void 无返回值
*/
queryMyAllMemberInfosAsync(cb?: QueryTeamMyAllMemberInfosCallback | null, jsonExtension?: string): Promise<[number, Array<TeamMemberProperty>]>;
/** 查询群成员
* @param tid 群组id
* @param jsonExtension json扩展参数(备用,目前不需要)
* @param cb 查询群成员的回调函数
* @return boolean 检查参数如果不符合要求则返回失败
* @note
* <pre>
* 200:成功
* 406:没有变化
* 802:没有权限
* </pre>
*/
queryTeamMembersAsync(tid: string, cb?: QueryTeamMembersCallback | null, jsonExtension?: string): Promise<[string, number, Array<TeamMemberProperty>] | null>;
/** 查询(单个)群成员信息
* @param tid 群组id
* @param id 群成员id
* @param jsonExtension json扩展参数(备用,目前不需要)
* @param cb 查询群成员的回调函数
* @return boolean 检查参数如果不符合要求则返回失败
*/
queryTeamMemberAsync(tid: string, id: string, cb?: QueryTeamMemberCallback | null, jsonExtension?: string): Promise<[TeamMemberProperty]>;
/** 查询群信息
* @param tid 群组id
* @param jsonExtension json扩展参数(备用,目前不需要)
* @param cb 查询群信息的回调函数
* @return boolean 检查参数如果不符合要求则返回失败
*/
queryTeamInfoAsync(tid: string, cb?: QueryTeamInfoCallback | null, jsonExtension?: string): Promise<[string, TeamInfo] | null>;
/** 获取群信息(从服务器获取)
* @param tid 群组id
* @param jsonExtension json扩展参数(备用,目前不需要)
* @param cb 获取群信息的回调函数
* @return boolean 检查参数如果不符合要求则返回失败
* @note
* <pre>
* 200:成功
* 803:群不存在
* </pre>
*/
queryTeamInfoOnlineAsync(tid: string, cb?: TeamEventCallback | null, jsonExtension?: string): Promise<[TeamEvent] | null>;
/** 禁言/解除禁言
* @param tid 群组id
* @param member_id 操作对象id
* @param set_mute 禁言/解除禁言
* @param jsonExtension json扩展参数(备用,目前不需要)
* @param cb 踢人的回调函数
* @return boolean 检查参数如果不符合要求则返回失败
* @note
* <pre>
* 200:成功
* 404:禁言对象不存在
* 414:参数错误
* 803:群不存在
* 802:没有权限
* </pre>
*/
muteMemberAsync(tid: string, member_id: string, set_mute: boolean, cb?: TeamEventCallback | null, jsonExtension?: string): Promise<[TeamEvent] | null>;
/** 群禁言/解除群禁言
* @param tid 群组id
* @param set_mute 禁言/解除禁言
* @param jsonExtension json扩展参数(备用,目前不需要)
* @param cb 踢人的回调函数
* @return boolean 检查参数如果不符合要求则返回失败
* @note
* <pre>
* 200:成功
* 414:参数错误
* </pre>
*/
muteAsync(tid: string, set_mute: boolean, cb?: TeamEventCallback | null, jsonExtension?: string): Promise<[TeamEvent] | null>;
/** 获取群禁言成员列表
* @param tid 群组id
* @param cb 回调函数
* @param jsonExtension json扩展参数(备用,目前不需要)
* @return boolean 检查参数如果不符合要求则返回失败
* @note
* <pre>
* 200:成功
* 802:没有权限
* 803:群不存在
* </pre>
*/
queryMuteListOnlineAsync(tid: string, cb?: QueryTeamMembersOnlineCallback | null, jsonExtension?: string): Promise<[NIMResCode, number, Array<TeamMemberProperty>] | null>;
/** 群消息回执
* @param tid 群组id
* @param msgs 需要发送消息回执的群消息
* @param jsonExtension json扩展参数(备用,目前不需要)
* @param cb 回调函数
* @return void 无返回值
* @note
* <pre>
* 200:成功
* 414:参数错误
* </pre>
*/
teamMsgAckRead(tid: string, msgs: Array<IMMessage>, cb?: TeamMsgAckReadCallback | null, jsonExtension?: string): Promise<[string, Array<string>, Array<string>, Array<string>]>;
/** 根据指定 ID 获取群组消息已读未读情况
* @param[in] tid 群组id
* @param[in] msg 群消息
* @param[in] accids 要查询的 ID 列表
* @param[in] jsonExtension json扩展参数(备用,目前不需要)
* @param[in] cb 回调函数
* @return void 无返回值
* @note
* <pre>
* 200:成功
* 414:参数错误
* </pre>
*/
teamMsgQueryUnreadList(tid: string, msg: IMMessage, accids: Array<string>, cb?: TeamEventCallback | null, jsonExtension?: string): Promise<[TeamEvent]>;
/** 查询群成员的邀请人 accid 由接口 原 TeamQueryTeamMembersInvitor方法
* @param tid 群组id
* @param members 要查询 的群成员accid列表
* @param cb 回调函数
* @return void 无返回值
* @note
* <pre>
* 200:成功
* </pre>
*/
queryTeamMembersInvitor(tid: string, members: Array<string>, cb?: QueryTeamMembersInvitorCallback | null): Promise<[NIMResCode, number, Map<string, string>]>;
/** 查询群信息
* @param keyword 要查询的关键字
* @param cb 查询群信息的回调函数
* @param jsonExtension json扩展参数(备用,目前不需要)
* @return boolean 检查参数如果不符合要求则返回失败
*/
queryTeamInfoByKeywordAsync(keyword: string, cb?: QueryTeamsInfoCallback | null, jsonExtension?: string): Promise<[number, Array<TeamInfo>]>;
/** 更新群信息
* @param tid 群组id
* @param team_infos 群组信息
* @param notify_event 更新后是否触发事件以通知应用层
* @param cb 更新群信息的回调函数,回调中会指明更新成功与失败的群ID
* @param jsonExtension json扩展参数(备用,目前不需要)
* @return void
*/
updateTInfoLocal(infos: Array<TeamInfo>, cb?: UpdateTInfoLocalCallback | null, jsonExtension?: string): Promise<[Array<string>, Array<string>]>;
/** 查询所有群
* @param cb 查询所有群的回调函数
* @param time_tag 时间戳,没有特殊需求此参数赋0
* @param jsonExtension json扩展参数(备用,目前不需要)
* @return void 无返回值
*/
getTeamInfoBatchTrans(cb?: GetTeamInfoBatchSFTransCallback | null, time_tag?: number, jsonExtension?: string): Promise<[number, Array<TeamInfo>]>;
/** 查询给定的一组群ID详细信息
* @param tid_list 群组id列表,最多10个
* @param cb 查询给定的一组群ID详细信息的回调模板
* @return void 无返回值
* @note
* <pre>
* 200:成功
* 414:参数错误
* 816:部分成功
* </pre>
*/
getTeaminfoList(tids: Array<string>, cb?: GetTeamInfoListCallback | null): Promise<[NIMResCode, Array<TeamInfo>, Array<string>]>;
/** 根据成员类型获取群成员
* @param tid 群组id
* @param option 获取群成员选项
* @return boolean 检查参数如果不符合要求则返回失败
*/
getTeamMemberList(tid: string, option: TeamMemberRoleTypeSearchOption): Promise<[TeamMemberSerachResult]>;
}