群消息管理
更新时间: 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 格式字符串',
});
此文档是否对你有帮助?