群消息管理
更新时间: 2024/03/14 19:21:15
网易云信 NIM SDK 支持超大群中的消息收发,超大群相关操作的通知消息的接收,以及超大群消息通知模式的设置。
超大群消息收发
超大群中支持收发多种消息类型。
在创建/加入超大群后,用户发送和接收消息的接口与单聊消息收发相同,区别在于会话类型(scene)的参数配置,选择 superTeam 即可。
EMsgScene参数说明
| 枚举常量 | 说明 |
|---|---|
| p2p | 单聊 |
| superTeam | 超大群 |
| team | 高级群 |
具体消息收发的流程,请参见消息收发。
超大群通知消息
NIM SDK 内置支持的会话消息类型(EMsgType)中的通知消息(notification)主要用于超大群的事件通知,由服务端下发,客户端无法发送事件通知消息。
超大群可能会触发以下事件,具体事件类型请参见IMEventInterface 。
superTeams:初始化同步超大群updateSuperTeamMember更新超大群成员的多端同步updateSuperTeam超大群更新addSuperTeamMembers超大群成员添加updateSuperTeamManagers超大群管理员更新transferSuperTeam转让超大群removeSuperTeamMembers移除超大群成员dismissSuperTeam超大群解散updateSuperTeamMembersMute超大群成员禁言
除此之外,以下事件也涉及超大群:
- `sysMsg` 接收系统通知,其中系统通知指涉及超大群的类型有:`applySuperTeam`(申请入群)、`superTeamInvite`(邀请入群)、`rejectSuperTeamInvite`(拒绝入群邀请)、`rejectSuperTeamApply`(拒绝入群申请)、'recallMsgSuperTeam'(超大群消息撤回)
- `updateSystemMessages` 系统通知更新
示例代码如下:
// 事件声明
const eventList = [
'superTeams',// 初始化同步超大群
'updateSuperTeamMember', // 更新超大群成员的多端同步
'updateSuperTeam', 'addSuperTeamMembers', 'updateSuperTeamManagers', 'transferSuperTeam', 'removeSuperTeamMembers', 'dismissSuperTeam', 'updateSuperTeamMembersMute',
]
// 注册监听
eventList.forEach((key: any) => {
nim.on(key, (res) => {
console.log(`收到 ${key} 事件:`, res ? JSON.parse(JSON.stringify(res)) : res);
});
})
超大群消息免打扰
SDK 支持对超大群消息通知提醒模式的配置。超大群消息通知提醒模式分为:
- 全部提醒(默认)
- 仅群主/管理员消息提醒
- 全部不提醒
通过调用 updateMyMemberInfo 来修改超大群消息的提醒模式。
目前支持修改的属性包括以下三种:
nickInTeam: 自己在超大群中的群昵称。更新昵称后, 所有其他在线的群成员会收到超大群通知消息,其类型为updateSuperTeamMember。bitConfigMask: 超大群消息的提醒策略。0:开启提醒;1:关闭消息提醒;2:只接收群主和管理员的消息的提醒。ext: 第三方扩展字段, 开发者可以自行扩展, 建议封装成 JSON 格式字符串。
接口原型:
jsupdateMyMemberInfo(options: UpdateMyMemberInfoOptions): Promise<SuperTeamMember>
UpdateMyMemberInfoOptions 参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| teamId | String | 超大群ID |
| bitConfigMask | number | 提醒策略 0:开启提醒 1:关闭消息提醒 2:只接收群主和管理员的消息的提醒 |
| nickInTeam | String | 超大群昵称 |
| ext | String | 第三方扩展字段, 开发者可以自行扩展, 建议封装成 JSON 格式字符串 |
示例代码:
jsawait nim.superTeam.updateMyMemberInfo({
teamId: '{{TARGET_SUPERTEAM_ID}}',
nickInTeam: '张三',
bitConfigMask: '2',
ext: '扩展字段, 建议封装成 JSON 格式字符串',
});
此文档是否对你有帮助?






