nim-web-sdk-ng
Version:
Yunxin IM SDK next generation
1,529 lines (1,528 loc) • 43.6 kB
TypeScript
/**
* 调用方式:
* ```js
* nim.superTeam.getSuperTeamInfo(options)
* ```
*/
export interface SuperTeamServiceInterface {
/**
* @Multi_Lang_Tag
* @locale cn
* 获取群基本信息。除了创建群时的信息外,还包括 `memberNum`, `muteType`, `owner` 等字段
* @locale
*
* @locale en
* Get the information of the supergroup according to the group ID.
* @locale
*
* @example
* ```ts
* const team = await nim.superTeam.getSuperTeamInfo({ teamId: '12345' })
* ```
*/
getSuperTeamInfo(options: {
teamId: string;
}): Promise<SuperTeam>;
/**
* @Multi_Lang_Tag
* @locale cn
* 获取超级群列表
* @locale
*
* @locale en
* Get the supergroup list.
* @locale
*
* @example
* ```ts
* const teams = await nim.superTeam.getSuperTeams()
* ```
*/
getSuperTeams(): Promise<SuperTeam[]>;
/**
* @Multi_Lang_Tag
* @locale cn
* 更新群基本信息
*
* #### 影响范围:
* - 所有群成员收到 {@link IMEventInterface.updateSuperTeam | updateSuperTeam} 事件
* - 所有群成员收到通知消息{@link IMEventInterface.msg | msg}:
* - msg.type: 'notification'
* - msg.from: 操作者账号
* - msg.to: 群id
* - msg.attach.type: 'updateSuperTeam'
* - msg.attach.team: 更新的群信息
* @locale
*
* @locale en
* Update supergroup
*
* After the group is updated, all group members will receive group notifications and the event {@link IMEventInterface.updateSuperTeam | updateSuperTeam} will be triggered.
* @locale
*
* @example
* ```ts
* const team = await nim.superTeam.updateSuperTeamInfo({
* teamId: '12345',
* name: '新的群名称'
* })
* ```
*/
updateSuperTeamInfo(options: UpdateSuperTeamInfoOptions): Promise<SuperTeam>;
/**
* @Multi_Lang_Tag
* @locale cn
* 添加超级群成员
*
* - 如果 `beInviteMode`: `noVerify`:
* - 所有群成员收到 {@link IMEventInterface.addSuperTeamMembers | addSuperTeamMembers} 事件
* - 被邀请人直接入群,所有群成员触发通知消息{@link IMEventInterface.msg | msg}:
* - msg.type: 'notification'
* - msg.from: 操作者
* - msg.to: 被邀请者
* - msg.attach.type: 'addSuperTeamMembers'
* - msg.attach.accounts: 被邀请者账号
* - 如果 `beInviteMode`: 'needVerify':
* - 被邀请者触发 {@link IMEventInterface.sysMsg | sysMsg},其 type 为 'superTeamInvite'
* - 被邀请者通过 {@link SuperTeamServiceInterface.acceptSuperTeamInvite} 或者 {@link SuperTeamServiceInterface.rejectSuperTeamInvite} 来处理邀请
* @locale
*
* @locale en
* Add members to supergroup
*
* After the group owner and administrator invites persons to join the group (via creating a group or adding people into the group), the invitee will receive a system notification and the event {@link IMEventInterface.sysMsg | sysMsg}, whose type is 'superTeamInvite ', will be triggered.
*
* If the user accepts the invitation and joins the group, all group members in the group will receive a group notification and the event {@link IMEventInterface.addSuperTeamMembers | addSuperTeamMembers} will be triggered.
*
* If the user rejects the group invitation, the inviter will receive a system notification and the event {@link IMEventInterface.sysMsg | sysMsg}, whose type is 'rejectSuperTeamInvite', will be triggered.
* @locale
*
* @example
* ```ts
* await nim.superTeam.addSuperTeamMembers({ teamId: '12345', accounts: ['accid1', 'accid2'] })
* ```
*/
addSuperTeamMembers(options: AddSuperTeamMembersOptions): Promise<void>;
/**
* @Multi_Lang_Tag
* @locale cn
* 踢人出超级群
*
* #### 影响范围:
* - 群成员收到 {@link IMEventInterface.removeSuperTeamMembers | removeSuperTeamMembers} 事件
* - 群成员收到通知消息{@link IMEventInterface.msg | msg}:
* - msg.type: 'notification'
* - msg.from: 踢人者id
* - msg.to: 群id
* - msg.attach.type: 'removeSuperTeamMembers'
* - msg.attach.accounts: 被踢者账号
* @locale
*
* @locale en
* Kick people out of the supergroup
*
* After kicking someone out of the group, all group members will receive a group notification and the event {@link IMEventInterface.removeSuperTeamMembers | removeSuperTeamMembers} will be triggered.
* @locale
*
* @example
* ```ts
* await nim.superTeam.removeSuperTeamMembers({ teamId: '12345', accounts: ['accid1'] })
* ```
*/
removeSuperTeamMembers(options: RemoveSuperTeamMembersOptions): Promise<void>;
/**
* @Multi_Lang_Tag
* @locale cn
* 添加群管理员。只有群主有权限操作
*
* #### 影响范围:
* - 所有群成员收到更新群管理员事件回调 {@link IMEventInterface.updateSuperTeamManagers | updateSuperTeamManagers}
* - 所有群成员收到通知消息{@link IMEventInterface.msg | msg}:
* - msg.type: 'notification'
* - msg.from: 群主账号
* - msg.to: 群id
* - msg.attach.type: 'addSuperTeamManagers'
* - msg.attach.accounts: 新增管理员账号
* @locale
*
* @locale en
* Add supergroup administrator
*
* After adding a group administrator, all group members will receive a group notification and the event {@link IMEventInterface.updateSuperTeamManagers | updateSuperTeamManagers} will be triggered.
* @locale
*
* @example
* ```ts
* await nim.superTeam.addSuperTeamManagers({ teamId: '12345', accounts: ['accid1'] })
* ```
*/
addSuperTeamManagers(options: AddSuperTeamManagersOptions): Promise<void>;
/**
* @Multi_Lang_Tag
* @locale cn
* 移除群管理员。只有群主有权限操作
*
* #### 影响范围:
* - 所有群成员收到更新群管理员事件回调 {@link IMEventInterface.updateSuperTeamManagers | updateSuperTeamManagers}
* - 所有群成员收到通知消息{@link IMEventInterface.msg | msg}:
* - msg.type: 'notification'
* - msg.from: 群主账号
* - msg.to: 群id
* - msg.attach.type: 'removeSuperTeamManagers'
* - msg.attach.accounts: 被移除管理员账号
* @locale
*
* @locale en
* Remove supergroup administrator
*
* After removing the group administrator, all group members will receive a group notifications and the event {@link IMEventInterface.updateSuperTeamManagers | updateSuperTeamManagers} will be triggered.
* @locale
*
* @example
* ```ts
* await nim.superTeam.removeSuperTeamManagers({ teamId: '12345', accounts: ['accid1'] })
* ```
*/
removeSuperTeamManagers(options: RemmoveSuperTeamManagersOptions): Promise<void>;
/**
* @Multi_Lang_Tag
* @locale cn
* 申请入群。根据 `joinMode` 不同,SDK会有不同的行为。
*
* - 如果 `joinMode`: `noVerify`:
* - 所有群成员收到新增成员事件回调 {@link IMEventInterface.addSuperTeamMembers | addSuperTeamMembers}
* - 所有群成员收到通知消息{@link IMEventInterface.msg | msg}:
* - msg.type: 'notification'
* - msg.from: 申请者账号
* - msg.to: 群id
* - msg.attach.type: 'passSuperTeamApply'
* - msg.attach.account: 申请者账号
* - 如果 `joinMode`: 'needVerify':
* - 管理员收到 {@link IMEventInterface.sysMsg | sysMsg},其 type 为 'applySuperTeam'。管理员通过 {@link SuperTeamServiceInterface.passSuperTeamApply} 或者 {@link SuperTeamServiceInterface.rejectSuperTeamApply} 来处理申请
* - 如果 `joinMode`: 'rejectAll':
* - 调用此函数会抛出全局异常
*
* 用户可以主动申请加入高级群, 目标群的群主和管理员会收到系统通知,触发事件 {@link IMEventInterface.sysMsg | sysMsg} type 为 'applySuperTeam',
* @locale
*
* @locale en
* Request to join the group.
*
* Users can request to join the advanced group, the group owner and administrator of the group will receive a system notification, and the event {@link IMEventInterface.sysMsg | sysMsg}, whose type is 'applySuperTeam', will be triggered.
* @locale
*
* @example
* ```ts
* const team = await nim.superTeam.applySuperTeam({ teamId: '12345', ps: '申请加入群' })
* ```
*/
applySuperTeam(options: ApplySuperTeamOptions): Promise<SuperTeam>;
/**
* @Multi_Lang_Tag
* @locale cn
* 转让群, 群主可操作
*
* #### 影响范围:
* - 所有群成员收到 {@link IMEventInterface.transferSuperTeam | transferSuperTeam} 事件
* - 所有群成员收到通知消息{@link IMEventInterface.msg | msg}:
* - msg.type: 'notification'
* - msg.from: 原群主账号
* - msg.to: 群id
* - msg.attach.type: 'transferSuperTeam'
* - msg.attach.account: 新群主账号
*
* 若转让同时设置 `leave` 为 `true`,则相当于继续调用 {@link SuperTeamServiceInterface.leaveSuperTeam} 退群。
* @locale
*
* @locale en
* Transfer group. The group owner can operate.
*
* After transferring a group, all group members will receive a group notification and the event {@link IMEventInterface.transferSuperTeam | transferSuperTeam} will be triggered.
*
* If you leave the group while transferring the group, all group members will receive the group notification again and the event {@link IMEventInterface.removeSuperTeamMembers | removeSuperTeamMembers} will be triggered.
* @locale
*
* @example
* ```ts
* await nim.superTeam.transferSuperTeam({ teamId: '12345', account: 'newOwnerId', leave: false })
* ```
*/
transferSuperTeam(options: TransferSuperTeamOptions): Promise<void>;
/**
* @Multi_Lang_Tag
* @locale cn
* 群组全体禁言,或者取消禁言。只有管理员有权限操作
*
* #### 影响范围:
* - 所有群成员收到群更新事件回调 {@link IMEventInterface.updateSuperTeam | updateSuperTeam}
* - 所有群成员收到通知消息{@link IMEventInterface.msg | msg}:
* - msg.type: 'notification'
* - msg.from: 操作者账号
* - msg.to: 群id
* - msg.attach.type: 'updateSuperTeam'
* - msg.attach.team: 群部分信息。包括了禁言相关信息
* @locale
*
* @locale en
* Mute all supergroup members
* @locale
*
* @example
* ```ts
* await nim.superTeam.muteSuperTeam({ teamId: '12345', type: 'all' })
* ```
*/
muteSuperTeam(options: MuteSuperTeamOptions): Promise<void>;
/**
* @Multi_Lang_Tag
* @locale cn
* 更新群成员禁言状态。只能禁言比之前权限更低的用户。
*
* #### 影响范围:
* - 所有群成员收到 {@link IMEventInterface.updateSuperTeamMembersMute | updateSuperTeamMembersMute} 事件
* - 所有群成员收到通知消息{@link IMEventInterface.msg | msg}:
* - msg.type: 'notification'
* - msg.from: 操作者账号
* - msg.to: 群id
* - msg.attach.type: 'updateSuperTeamMemberMute'
* - msg.attach.account: 被禁言者账号
* - msg.attach.mute: 是否被禁言
* @locale
*
* @locale en
* Update supergroup members’ mute status.
*
* After updating group member mute status, all group members will receive a group notification and the event {@link IMEventInterface.updateSuperTeamMembersMute | updateSuperTeamMembersMute} will be triggered.
*
* Its attachment has a field team whose value is the corresponding group object, the account is the banned account, and members is the list of banned group members.
* @locale
*
* @example
* ```ts
* await nim.superTeam.muteSuperTeamMembers({ teamId: '12345', accounts: ['accid1'], mute: true })
* ```
*/
muteSuperTeamMembers(options: MuteSuperTeamMembersOptions): Promise<void>;
/**
* @Multi_Lang_Tag
* @locale cn
* 修改别人的群昵称。管理员有权限修改别人的群昵称。
*
* #### 影响范围:
* - 所有群成员会收群成员信息变更 {@link IMEventInterface.updateSuperTeamMember | updateSuperTeamMember}
* @locale
*
* @locale en
* Modify the nickname of others in this supergroup。
*
* All other online group members will receive the event {@link IMEventInterface.updateSuperTeamMember | updateSuperTeamMember} .
* @locale
*
* @example
* ```ts
* const member = await nim.superTeam.updateMemberNick({
* teamId: '12345',
* account: 'accid1',
* nickInTeam: '新群昵称'
* })
* ```
*/
updateMemberNick(options: UpdateMemberNickOptions): Promise<SuperTeamMember>;
/**
* @Multi_Lang_Tag
* @locale cn
* 修改自己在群里的信息
*
* #### 影响范围:
* - 所有群成员会收群成员信息变更 {@link IMEventInterface.updateSuperTeamMember | updateSuperTeamMember}
* @locale
*
* @locale en
* To modify your information in the supergroup
* @locale
*
* @example
* ```ts
* const member = await nim.superTeam.updateMyMemberInfo({
* teamId: '12345',
* nickInTeam: '我的群昵称'
* })
* ```
*/
updateMyMemberInfo(options: UpdateMyMemberInfoOptions): Promise<SuperTeamMember>;
/**
* 暂时不考虑弄进来。。IM1 是使用多次回调得到,这里就有点诡异。
*/
/**
* @Multi_Lang_Tag
* @locale cn
* 按照某些账号获取超级群成员
* @locale
*
* @locale en
* Get supergroup members according to certain accounts
* @locale
*
* @example
* ```ts
* const members = await nim.superTeam.getSuperTeamMembersByAccounts({
* teamId: '12345',
* accounts: ['accid1', 'accid2']
* })
* ```
*/
getSuperTeamMembersByAccounts(options: GetSuperTeamMembersByAccountsOptions): Promise<SuperTeamMember[]>;
/**
* @Multi_Lang_Tag
* @locale cn
* 获取超级群成员列表
* @locale
*
* @locale en
* Get supergroup members according to certain accounts
* @locale
*
* @example
* ```ts
* const members = await nim.superTeam.getSuperTeamMembers({ teamId: '12345' })
* ```
*/
getSuperTeamMembers(options: GetSuperTeamMembersOptions): Promise<SuperTeamMember[]>;
/**
* @Multi_Lang_Tag
* @locale cn
* 获取被禁言的群成员
*
* #### 关联函数
* - {@link SuperTeamServiceInterface.muteSuperTeamMembers}
* @locale
*
* @locale en
* Get the list of muted members of the supergroup
* @locale
*
* @example
* ```ts
* const members = await nim.superTeam.queryMuteMembers({ teamId: '12345' })
* ```
*/
queryMuteMembers(options: QueryMuteMembersOptions): Promise<SuperTeamMember[]>;
/**
* @Multi_Lang_Tag
* @locale cn
* 主动退群。注意群主不能主动退群。若群主要退群,请使用 {@link SuperTeamServiceInterface.transferSuperTeam} 转让群并退群。
*
* #### 影响范围:
* - 群成员收到 {@link IMEventInterface.removeSuperTeamMembers | removeSuperTeamMembers} 事件
* - 群成员收到通知消息{@link IMEventInterface.msg | msg}:
* - msg.type: 'notification'
* - msg.from: 退群者账号
* - msg.to: 群id
* - msg.attach.type: 'leaveSuperTeam'
* - msg.attach.users: 退群者信息详情
* @locale
*
* @locale en
* Voluntarily leave the group
*
* After actively withdrawing from the group, all group members will receive group notifications and trigger the {@link IMEventInterface.removeSuperTeamMembers | removeSuperTeamMembers} event
* @locale
*
* @example
* ```ts
* await nim.superTeam.leaveSuperTeam({ teamId: '12345' })
* ```
*/
leaveSuperTeam(options: {
teamId: string;
}): Promise<void>;
/**
* @Multi_Lang_Tag
* @locale cn
* (管理员)通过群申请
*
* #### 影响范围:
* - 所有群成员收到 {@link IMEventInterface.addSuperTeamMembers | addSuperTeamMembers} 事件
* - 所有群成员收到群通知消息 {@link IMEventInterface.msg | msg}
* - msg.type: 'notification'
* - msg.from: 通过申请者账号
* - msg.to: 群id
* - msg.attach.type: 'passSuperTeamApply'
* - msg.attach.account: 申请者账号
* @locale
*
* @locale en
* Administrator approves the request to join the group.
* @locale
*
* @example
* ```ts
* await nim.superTeam.passSuperTeamApply({ teamId: '12345', from: 'applicantAccid', idServer: '123456' })
* ```
*/
passSuperTeamApply(options: PassSuperTeamApplyOptions): Promise<void>;
/**
* @Multi_Lang_Tag
* @locale cn
* (管理员)拒绝群申请
*
* 管理员收到 type 为 `applySuperTeam` 的 {@link IMEventInterface.sysMsg | sysMsg} 后,调用此接口拒绝群申请。
*
* #### 影响范围:
* 拒绝群申请后,申请者收到 type 为 'rejectSuperTeamApply' {@link IMEventInterface.sysMsg | sysMsg} 系统通知
* @locale
*
* @locale en
* Administrator rejects the request to join the group.
* @locale
*
* @example
* ```ts
* await nim.superTeam.rejectSuperTeamApply({ teamId: '12345', from: 'applicantAccid', idServer: '123456' })
* ```
*/
rejectSuperTeamApply(options: RejectSuperTeamApplyOptions): Promise<void>;
/**
* @Multi_Lang_Tag
* @locale cn
* 同意入群邀请。
*
* 收到 type 为 'superTeamInvite' 的 {@link IMEventInterface.sysMsg | sysMsg} 后,调用此接口同意入群邀请。
*
* #### 影响范围:
* - 所有群成员触发 {@link IMEventInterface.addSuperTeamMembers | addSuperTeamMembers} 事件
* - 所有群成员收到群通知消息 {@link IMEventInterface.msg | msg}
* - msg.type: 'notification'
* - msg.from: 被邀请人账号
* - msg.to: 群id
* - msg.attach.type: 'acceptSuperTeamInvite'
* - msg.attach.account: 邀请者账号
* @locale
*
* @locale en
* User accepts the invitation to join the group.
* @locale
*
* @example
* ```ts
* await nim.superTeam.acceptSuperTeamInvite({ teamId: '12345', from: 'inviterAccid', idServer: '123456' })
* ```
*/
acceptSuperTeamInvite(options: AcceptSuperTeamInviteOptions): Promise<void>;
/**
* @Multi_Lang_Tag
* @locale cn
* 拒绝入群邀请
*
* 收到 type 为 'superTeamInvite' 的 {@link IMEventInterface.sysMsg | sysMsg} 后,调用此接口拒绝入群邀请。
*
* #### 影响范围:
* - 邀请者收到 type 为 'rejectSuperTeamInvite' {@link IMEventInterface.sysMsg | sysMsg} 系统通知
* @locale
*
* @locale en
* User declines the invitation to join the group.
* @locale
*
* @example
* ```ts
* await nim.superTeam.rejectSuperTeamInvite({ teamId: '12345', from: 'inviterAccid', idServer: '123456' })
* ```
*/
rejectSuperTeamInvite(options: RejectSuperTeamInviteOptions): Promise<void>;
}
/**
* @Multi_Lang_Tag
* @locale cn
* 群加入方式, 仅限高级群有此属性,普通群(讨论组)没有
*
* noVerify 不需要验证
* needVerify 加此群需要相关人员的验证
* rejectAll 拒绝其他人加入
* @locale
*
* @locale en
* Only advanced groups have the Group Joining Method attribute. Normal groups (discussion groups) do not have this attribute
*
* noVerify: verification not required for joining the group.
* needVerify: verification required for joining the group.
* rejectAll: no more persons can join the group.
* @locale
*/
export declare type SuperTeamJoinMode = 'noVerify' | 'needVerify' | 'rejectAll';
/**
* @Multi_Lang_Tag
* @locale cn
* 被邀请模式, 仅限高级群
*
* noVerify 不需要验证
* needVerify 此群邀请某人,需要此人验证通过才能加入
* @locale
*
* @locale en
* Invitee verification mode (only available for advanced group
*
* noVerify: verification not required.
* needVerify: invitee needs to be verified before the invitee can join the group.
* @locale
*/
export declare type SuperTeamBeInviteMode = 'noVerify' | 'needVerify';
/**
* @Multi_Lang_Tag
* @locale cn
* 群邀请模式, 仅限高级群
*
* manager 管理员。仅限管理员可以邀请人进群
* all 所有人。所有人都可以邀请人进群
* @locale
*
* @locale en
* Group invitation mode (only available for advanced groups)
*
* manager: only group admins can invite people to the group.
* all: all group members can invite people to the group.
* @locale
*/
export declare type SuperTeamInviteMode = 'manager' | 'all';
/**
* @Multi_Lang_Tag
* @locale cn
* 群信息修改权限, 仅限高级群
*
* manager 管理员。仅限管理员可以修改群信息
* all 所有人
* @locale
*
* @locale en
* Group information modification permission (only available for advanced groups)
*
* manager: only group admins can modify group information
* all: all group members can modify group information.
* @locale
*/
export declare type SuperTeamUpdateTeamMode = 'manager' | 'all';
/**
* @Multi_Lang_Tag
* @locale cn
* 群信息自定义字段修改权限, 仅限高级群
*
* manager 管理员
* all 所有人
* @locale
*
* @locale en
* Permission for modifying group information custom field (only available for advanced groups)
*
* manager: only group admins can modify group information custom fields.
* all: all members can modify group information custom fields.
* @locale
*/
export declare type SuperTeamUpdateExtMode = 'manager' | 'all';
export interface SuperTeam {
/**
* @Multi_Lang_Tag
* @locale cn
* 群Id
* @locale
*
* @locale en
* Group ID
* @locale
*/
teamId: string;
/**
* @Multi_Lang_Tag
* @locale cn
* 群名
* @locale
*
* @locale en
* Group name
* @locale
*/
name: string;
/**
* @Multi_Lang_Tag
* @locale cn
* 群头像
* @locale
*
* @locale en
* Group avatar
* @locale
*/
avatar: string;
/**
* @Multi_Lang_Tag
* @locale cn
* 群加入方式
*
* noVerify 不需要验证
* needVerify 加此群需要相关人员的验证
* rejectAll 拒绝其他人加入
* @locale
*
* @locale en
* Group joining method (how to join the group)
*
* noVerify: verification not required.
* needVerify: verification required before anyone can join the group.
* rejectAll: reject others to join the group.
* @locale
*/
joinMode: SuperTeamJoinMode;
/**
* @Multi_Lang_Tag
* @locale cn
* 被邀请模式
*
* noVerify 不需要验证
* needVerify 此群邀请某人,需要此人验证通过才能加入
* @locale
*
* @locale en
* Invitee verification mode
*
* noVerify: verification not required.
* needVerify: invitee needs to be verified before joining the group.
* @locale
*/
beInviteMode: SuperTeamBeInviteMode;
/**
* @Multi_Lang_Tag
* @locale cn
* 群邀请模式
*
* manager 管理员。仅限管理员可以邀请人进群
* all 所有人。所有人都可以邀请人进群
* @locale
*
* @locale en
* Group invitation mode
*
* manager: only group admins can invite people to the group.
* all: everyone can invite people to the group.
* @locale
*/
inviteMode: SuperTeamInviteMode;
/**
* @Multi_Lang_Tag
* @locale cn
* 群信息修改权限
*
* manager 管理员。仅限管理员可以修改群信息
* all 所有人
*
* 注:level 大于 2000 人这种级别的超级群,设置 all 无法生效,只允许管理员/群主能修改信息
* @locale
*
* @locale en
* Group information modification permission
*
* manager: only group admins can modify group information
* all: all group members can modify group information.
*
* Note: For a supergroup with a “level” greater than 2,000 people, setting the field to “all” is invalid. Only group admins / group owners can modify the information.
* @locale
*/
updateTeamMode: SuperTeamUpdateTeamMode;
/**
* @Multi_Lang_Tag
* @locale cn
* 群信息自定义字段修改权限
*
* manager 管理员
* all 所有人
*
* 注:level 大于 2000 人这种级别的超级群,设置 all 无法生效,只允许管理员/群主能修改信息
* @locale
*
* @locale en
* Permission for modifying group information custom field
*
* manager: only group admins can modify group information custom fields.
* all: all group members can.
*
* Note: For a supergroup with a “level” (maximum group size) greater than 2,000 people, setting the field to “all” is invalid. Only group admins / group owners can modify the information.
* @locale
*/
updateExtMode: SuperTeamUpdateExtMode;
/**
* @Multi_Lang_Tag
* @locale cn
* 群主
* @locale
*
* @locale en
* Group owner
* @locale
*/
owner: string;
/**
* @Multi_Lang_Tag
* @locale cn
* 群人数上限
* @locale
*
* @locale en
* Maximum group size
* @locale
*/
level: number;
/**
* @Multi_Lang_Tag
* @locale cn
* 群成员数量
* @locale
*
* @locale en
* Number of group members
* @locale
*/
memberNum: number;
/**
* @Multi_Lang_Tag
* @locale cn
* 群成员最后更新时间戳
* @locale
*
* @locale en
* Timestamp of the of the last update of group member
* @locale
*/
memberUpdateTime: number;
/**
* @Multi_Lang_Tag
* @locale cn
* 群创建时间戳
* @locale
*
* @locale en
* Group creation timestamp
* @locale
*/
createTime: number;
/**
* @Multi_Lang_Tag
* @locale cn
* 群最后更新时间戳
* @locale
*
* @locale en
* Timestamp of the last group update
* @locale
*/
updateTime: number;
/**
* @Multi_Lang_Tag
* @locale cn
* 是否有效, 解散后该群无效
* @locale
*
* @locale en
* Whether it is valid; the group will be invalid after disbanding
* @locale
*/
valid: boolean;
/**
* @Multi_Lang_Tag
* @locale cn
* 该群是否对当前用户有效, 如果无效, 那么说明被踢了
* @locale
*
* @locale en
* Whether the group is valid for the current user, if it is invalid, it means that the current user has been kicked out of the group.
* @locale
*/
validToCurrentUser: boolean;
/**
* @deprecated Use {@link SuperTeam.muteType} instead.
*
* @Multi_Lang_Tag
* @locale cn
* 是否禁言, 禁言状态下普通成员不能发送消息, 创建者和管理员可以发送消息
* @locale
*
* @locale en
* Whether the group is muted; if muted, ordinary members cannot send messages in the group, only the group owner and group admins can send messages.
* @locale
*/
mute: boolean;
/**
* @Multi_Lang_Tag
* @locale cn
* 禁言模式
* none: 都不禁言;
* normal: 普通成员禁言,即普通成员不能发消息;
* all: 全体禁言,即所有成员均不能发消息禁言模式,包含群主
* @locale
*
* @locale en
* Mute mode
* none: all group members are unmuted.
* normal: ordinary members are muted. In other words, ordinary members cannot send messages.
* all: all members are muted. In other words, all members cannot send messages, including the group leader.
* @locale
*/
muteType: string;
/**
* @Multi_Lang_Tag
* @locale cn
* 第三方扩展字段, 开发者可以自行扩展, 建议封装成JSON格式字符串
* 通 IM1 的 custom 字段。统一改叫 ext
* @locale
*
* @locale en
* Third-party extension fields, you can expand by themselves. It is recommended that you encapsulate them into JSON format strings.
* @locale
*/
ext?: string;
/**
* @Multi_Lang_Tag
* @locale cn
* 第三方服务器扩展字段, 开发者可以自行扩展, 建议封装成JSON格式字符串
* 通 IM1 的 serverCustom 字段。统一改叫 serverExt
* @locale
*
* @locale en
* Third-party server extension fields, you can expand by themselves. It is recommended that you encapsulate them into JSON format strings.
* @locale
*/
serverExt?: string;
/**
* @Multi_Lang_Tag
* @locale cn
* 群简介
* @locale
*
* @locale en
* Group introduction
* @locale
*/
intro?: string;
/**
* @Multi_Lang_Tag
* @locale cn
* 群公告
* @locale
*
* @locale en
* Group announcement
* @locale
*/
announcement?: string;
}
export declare type SuperTeamMemberType = 'normal' | 'owner' | 'manager' | 'apply' | 'applyReject';
export interface SuperTeamMember {
/**
* @Multi_Lang_Tag
* @locale cn
* 群成员的 id 标识(teamId + account)
* @locale
*
* @locale en
* The ID of the group member (teamId + account)
* @locale
*/
id: string;
/**
* @Multi_Lang_Tag
* @locale cn
* 群ID
* @locale
*
* @locale en
* Group ID
* @locale
*/
teamId: string;
/**
* @Multi_Lang_Tag
* @locale cn
* 帐号
* @locale
*
* @locale en
* Account
* @locale
*/
account: string;
/**
* @Multi_Lang_Tag
* @locale cn
* 群成员类型
*
* 'normal' (普通成员)
* 'owner' (群主)
* 'manager' (管理员)
* @locale
*
* @locale en
* Group member type
*
* 'normal' (normal member)
* 'owner' (group owner)
* 'manager' (group admin)
* @locale
*/
type: SuperTeamMemberType;
/**
* @Multi_Lang_Tag
* @locale cn
* 在群里面的昵称
* @locale
*
* @locale en
* Nickname in the group
* @locale
*/
nickInTeam: string;
/**
* @deprecated Use {@link SuperTeamMember.bitConfigMask} instead.
*
* @Multi_Lang_Tag
* @locale cn
* 是否关闭此群的消息提醒, true表示关闭提醒, 但是SDK仍然会收到这个群的消息, SDK只是记录这个设置, 具体根据这个设置要执行的操作由第三方APP决定
* @locale
*
* @locale en
* Whether to mute group notifications; “true” means to mute group notifications, but the SDK still receives the message of this group. (Note: the SDK just records this mute setting. The third-party APP needs to determine specific operations required to make this setting effective.)
* @locale
*/
muteTeam?: boolean;
/**
* @Multi_Lang_Tag
* @locale cn
* 入群时间
* @locale
*
* @locale en
* Group joining time
* @locale
*/
joinTime: number;
/**
* @Multi_Lang_Tag
* @locale cn
* 更新时间
* @locale
*
* @locale en
* Update time
* @locale
*/
updateTime: number;
/**
* @Multi_Lang_Tag
* @locale cn
* 普通群拉人进来的时候, 被拉的人处于未激活状态, 未激活状态下看不到这个群, 当有人说话后自动转为激活状态, 能看到该群
* @locale
*
* @locale en
* When a member of a normal group invites a person to join the group, the invited person is in an inactivated status. For a person in this status, the normal group is invisible to them. When someone in the group speaks, the invited person automatically turns activated and the group becomes visible to them.
* @locale
*/
active: boolean;
/**
* @Multi_Lang_Tag
* @locale cn
* 群成员是否有效
* @locale
*
* @locale en
* Whether the group member is valid
* @locale
*/
valid: boolean;
/**
* @Multi_Lang_Tag
* @locale cn
* 是否被禁言
* @locale
*
* @locale en
* Whether to be muted
* @locale
*/
mute?: boolean;
/**
* @Multi_Lang_Tag
* @locale cn
* 提醒策略
*
* 0 开启提醒
* 1 关闭消息提醒
* 2 只接受管理员的消息的提醒
* @locale
*
* @locale en
* Notification strategy
*
* 0: enable notification
* 1: disable notification
* 2: Only notify messages from group admins
* @locale
*/
bitConfigMask?: number;
/**
* @Multi_Lang_Tag
* @locale cn
* 第三方扩展字段
* @locale
*
* @locale en
* Third-party extension fields
* @locale
*/
ext?: string;
}
export interface TransferSuperTeamOptions {
teamId: string;
account: string;
/**
* @Multi_Lang_Tag
* @locale cn
* 转让群的同时是否离开群
* @locale
*
* @locale en
* Whether to leave the group while transferring the group
* @locale
*/
leave: boolean;
}
export interface UpdateSuperTeamInfoOptions {
/**
* @Multi_Lang_Tag
* @locale cn
* 群 id
* @locale
*
* @locale en
* Group ID
* @locale
*/
teamId: string;
/**
* @Multi_Lang_Tag
* @locale cn
* 群名
* @locale
*
* @locale en
* Group name
* @locale
*/
name?: string;
/**
* @Multi_Lang_Tag
* @locale cn
* 群头像
* @locale
*
* @locale en
* Group avatar
* @locale
*/
avatar?: string;
/**
* @Multi_Lang_Tag
* @locale cn
* 群简介
* @locale
*
* @locale en
* Group introduction
* @locale
*/
intro?: string;
/**
* @Multi_Lang_Tag
* @locale cn
* 群公告
* @locale
*
* @locale en
* Group announcement
* @locale
*/
announcement?: string;
/**
* @Multi_Lang_Tag
* @locale cn
* 扩展字段
* @locale
*
* @locale en
* Extension field
* @locale
*/
ext?: string;
/**
* @Multi_Lang_Tag
* @locale cn
* 群加入方式
* @locale
*
* @locale en
* Group joining method
* @locale
*/
joinMode?: SuperTeamJoinMode;
/**
* @Multi_Lang_Tag
* @locale cn
* 群被邀请模式
* @locale
*
* @locale en
* Invitee verification mode
*
* @locale
*/
beInviteMode?: SuperTeamBeInviteMode;
/**
* @Multi_Lang_Tag
* @locale cn
* 群邀请模式
*
* @locale
*
* @locale en
* Group invitation mode
* @locale
*/
inviteMode?: SuperTeamInviteMode;
/**
* @Multi_Lang_Tag
* @locale cn
* 群信息修改权限
* @locale
*
* @locale en
* Group information modification permission
* @locale
*/
updateTeamMode?: SuperTeamUpdateTeamMode;
/**
* @Multi_Lang_Tag
* @locale cn
* 群信息自定义字段修改权限
* @locale
*
* @locale en
* Permission for modifying group information custom field
* @locale
*/
updateExtMode?: SuperTeamUpdateExtMode;
}
export interface AddSuperTeamMembersOptions {
teamId: string;
accounts: string[];
/**
* @Multi_Lang_Tag
* @locale cn
* 附言,长度不得大于 5000,开发者可以使用 JSON 格式字符串填充
* @locale
*
* @locale en
* P.S., the length should not be greater than 5,000 bytes, developers can use JSON format string to fill it.
* @locale
*/
ps?: string;
/**
* @Multi_Lang_Tag
* @locale cn
* 附加字段,推荐使用 JSON 格式字符串
* @locale
*
* @locale en
* Additional fields, JSON format strings are recommended
* @locale
*/
ext?: string;
}
export interface RemoveSuperTeamMembersOptions {
teamId: string;
accounts: string[];
}
export interface ApplySuperTeamOptions {
teamId: string;
ps?: string;
}
export interface AddSuperTeamManagersOptions {
teamId: string;
accounts: string[];
}
export interface RemmoveSuperTeamManagersOptions {
teamId: string;
accounts: string[];
}
export interface UpdateMyMemberInfoOptions {
teamId: string;
/**
* @Multi_Lang_Tag
* @locale cn
* 在群里的昵称
*
* 注: 修改此字段后, 所有其它在线的群成员会收到事件 {@link IMEventInterface.updateSuperTeamMember | updateSuperTeamMember} 。
* @locale
*
* @locale en
* Nickname in the group
* @locale
*/
nickInTeam?: string;
/**
* @Multi_Lang_Tag
* @locale cn
* 提醒策略
*
* 0 开启提醒
*
* 1 关闭消息提醒
*
* 2 只接受管理员的消息的提醒
*
* 注意:如果关闭提醒,SDK仍然会收到这个群的消息。SDK只是记录这个设置,具体根据这个设置要执行的操作由开发者自行决定。
* @locale
*
* @locale en
* Notification strategy
*
* 0: enable notification
*
* 1: disable notification
*
* 2: only notify members of messages from admins
*
* Notice: if muted, the SDK still receives messages of this group.The SDK just records this mute setting, So you should determine what the corresponding UI display should be like.
* @locale
*/
bitConfigMask?: number;
/**
* @Multi_Lang_Tag
* @locale cn
* 扩展字段
* @locale
*
* @locale en
* Extension field
* @locale
*/
ext?: string;
}
export interface UpdateMemberNickOptions {
teamId: string;
account: string;
nickInTeam: string;
}
export interface MuteSuperTeamMembersOptions {
teamId: string;
accounts: string[];
/**
* @Multi_Lang_Tag
* @locale cn
* 是否要禁言
* @locale
*
* @locale en
* Whether to mute
* @locale
*/
mute: boolean;
}
export interface GetSuperTeamMembersOptions {
teamId: string;
/**
* @Multi_Lang_Tag
* @locale cn
* 成员加入时间
*
* 获取在该时间之后/之前进群的群成员
* @locale
*
* @locale en
* Member’s joining time
*
* Get group members who joined the group after/before this time
* @locale
*/
joinTime?: number;
/**
* @Multi_Lang_Tag
* @locale cn
* 本次获取的群成员数量。默认 100,最多 1000
* @locale
*
* @locale en
* The number of group members obtained this time (default: 100, maximum: 1,000)
* @locale
*/
limit?: number;
/**
* @Multi_Lang_Tag
* @locale cn
* 排序规则,默认 false
*
* false - 获取 joinTime 之后进群的群成员,按时间升序排列
*
* true - 获取 joinTime 之前进群的群成员,按时间降序排列
* @locale
*
* @locale en
* Sorting rule, default: false
*
* false - get the group members who entered the group after joinTime in ascending order of time.
*
* true - get the group members who entered the group before joinTime in descending order of time.
* @locale
*/
reverse?: boolean;
}
export interface GetSuperTeamMembersByAccountsOptions {
teamId: string;
/**
* @Multi_Lang_Tag
* @locale cn
* 成员账号 id,最大 20 个
* @locale
*
* @locale en
* Member accounts, maximum: 20
* @locale
*/
accounts: string[];
}
export interface MuteSuperTeamOptions {
teamId: string;
/**
* @Multi_Lang_Tag
* @locale cn
* 是否禁言
* @locale
*
* @locale en
* Whether to mute
* @locale
*/
mute: boolean;
}
export interface PassSuperTeamApplyOptions {
teamId: string;
/**
* @Multi_Lang_Tag
* @locale cn
* 申请者的 accountId
* @locale
*
* @locale en
* Requester's accountId
* @locale
*/
from: string;
}
export interface RejectSuperTeamApplyOptions {
teamId: string;
/**
* @Multi_Lang_Tag
* @locale cn
* 申请者的 accountId
* @locale
*
* @locale en
* Requester's accountId
* @locale
*/
from: string;
/**
* @Multi_Lang_Tag
* @locale cn
* 附加信息
* @locale
*
* @locale en
* Additional information
* @locale
*/
ps?: string;
}
export interface AcceptSuperTeamInviteOptions {
teamId: string;
/**
* @Multi_Lang_Tag
* @locale cn
* 邀请者的 accountId
* @locale
*
* @locale en
* Inviter’s accountId
* @locale
*/
from: string;
}
export interface RejectSuperTeamInviteOptions {
teamId: string;
/**
* @Multi_Lang_Tag
* @locale cn
* 邀请者的 accountId
* @locale
*
* @locale en
* Inviter’s accountId
* @locale
*/
from: string;
/**
* @Multi_Lang_Tag
* @locale cn
* 附加信息
* @locale
*
* @locale en
* Additional information
* @locale
*/
ps?: string;
}
export interface QueryMuteMembersOptions {
teamId: string;
/**
* @Multi_Lang_Tag
* @locale cn
* 分页大小,一页默认 100
* @locale
*
* @locale en
* Paging size, default: 100 per page
* @locale
*/
limit?: number;
/**
* @Multi_Lang_Tag
* @locale cn
* 筛选条件:加入的时间。获取的成员是在加入时间之前/之后的若干条。
* @locale
*
* @locale en
* Filter condition: joining time. Filtered members are a number of entries before/after the joining time.
* @locale
*/
joinTime?: number;
/**
* @Multi_Lang_Tag
* @locale cn
* 默认 false,获取在 joinTime 之后加入的群员。
*
* 若为 true,获取在 joinTime 之前的加入的群员
* @locale
*
* @locale en
* false (default): get the group members who joined the group after joinTime.
*
* true: get the group members who joined the group before joinTime.
* @locale
*/
reverse?: boolean;
}