@fork-anyone/node-nim
Version:
NetEase IM nodejs wrapper based on NetEase IM C++ SDK
375 lines (374 loc) • 16.7 kB
TypeScript
import { EventEmitter } from 'eventemitter3';
import { QuerySuperTeamMyAllMemberInfosCallback, NIMSuperTeamAPI, SuperTeamEventCallback, SuperTeamInfo, SuperTeamMemberProperty, QueryAllMySuperTeamsCallback, QueryAllMySuperTeamsInfoCallback, QuerySuperTeamMembersCallback, QuerySuperTeamMemberCallback, QuerySuperTeamInfoCallback, SuperTeamEvent, SuperTeamMemberKeywordSearchOption, SuperTeamMemberSerachResult, SuperTeamMemberRoleTypeSearchOption } from '../nim_def/super_team_def';
import { NIMResCode } from 'ts/nim_def/client_def';
export declare interface NIMSuperTeamEvents {
/** 超大群事件 */
superTeamEvent: [SuperTeamEvent];
}
export declare class NIMSuperTeam extends EventEmitter<NIMSuperTeamEvents> {
team: NIMSuperTeamAPI;
constructor(sdk: any);
/** 注册全局回调 */
initEventHandlers(): void;
/** 邀请
* @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?: SuperTeamEventCallback | null, jsonExtension?: string): Promise<[SuperTeamEvent] | 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?: SuperTeamEventCallback | null, jsonExtension?: string): Promise<[SuperTeamEvent] | null>;
/** 离开群
* @param tid 群组id
* @param jsonExtension json扩展参数(备用,目前不需要)
* @param cb 离开群的回调函数
* @return boolean 检查参数如果不符合要求则返回失败
* @note
* <pre>
* 200:成功
* 403:无超大群功能
* 802:没有群权限、群主不能退群
* 803:群不存在
* 804:用户不在群里
* </pre>
*/
leaveAsync(tid: string, cb?: SuperTeamEventCallback | null, jsonExtension?: string): Promise<[SuperTeamEvent] | null>;
/** 更新群信息
* @param tid 群组id
* @param team_info 群组信息
* @param jsonExtension json扩展参数(备用,目前不需要)
* @param cb 更新群信息的回调函数
* @return boolean 检查参数如果不符合要求则返回失败
* @note
* <pre>
* 200:成功
* 802:没有群权限、群主不能退群
* 803:群不存在
* </pre>
*/
updateSuperTeamInfoAsync(tid: string, info: SuperTeamInfo, cb?: SuperTeamEventCallback | null, jsonExtension?: string): Promise<[SuperTeamEvent] | 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?: SuperTeamEventCallback | null, jsonExtension?: string): Promise<[SuperTeamEvent] | 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?: SuperTeamEventCallback | null, jsonExtension?: string): Promise<[SuperTeamEvent] | 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?: SuperTeamEventCallback | null, jsonExtension?: string): Promise<[SuperTeamEvent] | 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?: SuperTeamEventCallback | null, jsonExtension?: string): Promise<[SuperTeamEvent] | 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?: SuperTeamEventCallback | null, jsonExtension?: string): Promise<[SuperTeamEvent] | 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?: SuperTeamEventCallback | null, jsonExtension?: string): Promise<[SuperTeamEvent] | null>;
/** 更新自己的群属性
* @param prop 群成员属性
* @param jsonExtension json扩展参数(备用,目前不需要)
* @param cb 更新自己的群属性的回调函数
* @return boolean 检查参数如果不符合要求则返回失败
* @note
* <pre>
* 200:成功
* 803:群不存在
* 805:群类型不对s
* </pre>
*/
updateMyPropertyAsync(prop: SuperTeamMemberProperty, cb?: SuperTeamEventCallback | null, jsonExtension?: string): Promise<[SuperTeamEvent] | null>;
/** @fn boolean addTeamMembersFollow(tid: string, account_ids: Array<string>, cb?: SuperTeamEventCallback)
* 添加群成员特别通知
* @param[in] tid 群组id
* @param[in] account_ids 群成员id
* @param[in] cb 添加群成员特别通知的回调函数
*/
addTeamMembersFollow(tid: string, account_ids: Array<string>, cb?: SuperTeamEventCallback): Promise<[SuperTeamEvent] | null>;
/** @fn boolean removeTeamMembersFollow(tid: string, account_ids: Array<string>, SuperTeamEventCallback
* cb) 移除群成员特别通知
* @param[in] tid 群组id
* @param[in] account_ids 群成员id
* @param[in] cb 移除群成员特别通知的回调函数
*/
removeTeamMembersFollow(tid: string, account_ids: Array<string>, cb?: SuperTeamEventCallback): Promise<[SuperTeamEvent] | null>;
/** 修改别人的群昵称
* @param prop 群成员属性
* @param jsonExtension json扩展参数(备用,目前不需要)
* @param cb 修改别人的群昵称的回调函数
* @return boolean 检查参数如果不符合要求则返回失败
* @note
* <pre>
* 200:成功
* 802:没有权限
* 803:群不存在
* 804:不在群里
* 805:群类型不对
* </pre>
*/
updateOtherNickAsync(prop: SuperTeamMemberProperty, cb?: SuperTeamEventCallback | null, jsonExtension?: string): Promise<[SuperTeamEvent] | 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?: SuperTeamEventCallback | null, jsonExtension?: string): Promise<[SuperTeamEvent] | 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?: SuperTeamEventCallback | null, jsonExtension?: string): Promise<[SuperTeamEvent] | null>;
/** 查询所有群
* @param jsonExtension json扩展参数(备用,目前不需要)
* @param cb 查询所有群的回调函数
* @return void 无返回值
*/
queryAllMySuperTeamsAsync(cb?: QueryAllMySuperTeamsCallback | null, jsonExtension?: string): Promise<[number, Array<string>]>;
/** 查询所有群信息
* @param jsonExtension json扩展参数(备用,目前不需要)
* @param cb 查询所有群信息的回调函数
* @return void 无返回值
*/
queryAllMySuperTeamsInfoAsync(cb?: QueryAllMySuperTeamsInfoCallback | null, jsonExtension?: string): Promise<[number, Array<SuperTeamInfo>]>;
/** 查询所有群里我的成员信息(使用场景:获取了所有群列表后,需要查询自己在每个群里自己的成员信息,使用成员信息里的bits字段,可以判断当某个群发来消息后,是否做消息通知)
* @param jsonExtension json扩展参数(备用,目前不需要)
* @param cb 查询所有群里我的成员信息的回调函数
* @return void 无返回值
*/
queryMyAllMemberInfosAsync(cb?: QuerySuperTeamMyAllMemberInfosCallback | null, jsonExtension?: string): Promise<[number, Array<SuperTeamMemberProperty>]>;
/** 查询群成员
* @param tid 群组id
* @param jsonExtension json扩展参数(备用,目前不需要)
* @param cb 查询群成员的回调函数
* @return boolean 检查参数如果不符合要求则返回失败
* @note
* <pre>
* 200:成功
* 406:没有变化
* 802:没有权限
* </pre>
*/
querySuperTeamMembersAsync(tid: string, cb?: QuerySuperTeamMembersCallback | null, jsonExtension?: string): Promise<[NIMResCode, string, number, Array<SuperTeamMemberProperty>] | null>;
/** 查询(单个)群成员信息
* @param tid 群组id
* @param id 群成员id
* @param jsonExtension json扩展参数(备用,目前不需要)
* @param cb 查询群成员的回调函数
* @return boolean 检查参数如果不符合要求则返回失败
*/
querySuperTeamMemberAsync(tid: string, id: string, cb?: QuerySuperTeamMemberCallback | null, jsonExtension?: string): Promise<[SuperTeamMemberProperty]>;
/** 查询群信息
* @param tid 群组id
* @param jsonExtension json扩展参数(备用,目前不需要)
* @param cb 查询群信息的回调函数
* @return boolean 检查参数如果不符合要求则返回失败
*/
querySuperTeamInfoAsync(tid: string, cb?: QuerySuperTeamInfoCallback | null, jsonExtension?: string): Promise<[string, SuperTeamInfo] | null>;
/** 获取群信息(从服务器获取)
* @param tid 群组id
* @param jsonExtension json扩展参数(备用,目前不需要)
* @param cb 获取群信息的回调函数
* @return boolean 检查参数如果不符合要求则返回失败
* @note
* <pre>
* 200:成功
* 803:群不存在
* </pre>
*/
querySuperTeamInfoOnlineAsync(tid: string, cb?: SuperTeamEventCallback | null, jsonExtension?: string): Promise<[SuperTeamEvent] | 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?: SuperTeamEventCallback | null, jsonExtension?: string): Promise<[SuperTeamEvent] | null>;
/**
* 查询群禁言列表
* @param tid 群组 ID
* @param cb 查询群禁言列表的回调函数
* @param jsonExtension json 扩展参数(备用,目前不需要)
* @return boolean 检查参数如果不符合要求则返回失败
* @note
* <pre>
* 200:成功
* 414:参数错误
* 403:没有超大群功能
* 802:没有权限
* 803:群不存在
* 804:不在群里
* </pre>
*/
queryMuteListAsync(tid: string, cb?: QuerySuperTeamMembersCallback | null, jsonExtension?: string): Promise<[number, string, number, Array<SuperTeamMemberProperty>] | 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?: SuperTeamEventCallback | null, jsonExtension?: string): Promise<[SuperTeamEvent] | null>;
/** 查询所有群信息
* @param keyword 要查询的关键字
* @param jsonExtension json扩展参数(备用,目前不需要)
* @param cb 查询所有群信息的回调函数
* @return boolean 检查参数如果不符合要求则返回失败
*/
querySuperTeamsInfoByKeywordAsync(keyword: string, cb?: QueryAllMySuperTeamsInfoCallback | null, jsonExtension?: string): Promise<[number, Array<SuperTeamInfo>]>;
/** 搜索群成员
* @param option 搜索群成员选项
* @return boolean 检查参数如果不符合要求则返回失败
*/
searchTeamMembers(option: SuperTeamMemberKeywordSearchOption): Promise<[SuperTeamMemberSerachResult]>;
/** 根据成员类型获取群成员
* @param tid 群组id
* @param option 获取群成员选项
* @return boolean 检查参数如果不符合要求则返回失败
*/
getTeamMemberList(tid: string, option: SuperTeamMemberRoleTypeSearchOption): Promise<[SuperTeamMemberSerachResult]>;
}