Web

群消息管理

更新时间: 2024/03/14 19:21:12

网易云信 NIM SDK 支持群组中的消息收发,群组相关操作的通知消息的接收,以及群消息通知模式的设置。

群消息收发

群组中支持收发多种消息类型。

在创建/加入群组后,用户发送和接收消息的接口与单聊消息收发相同,区别在于会话类型(scene)的参数配置,选择 team即可。

EMsgScene参数说明

枚举常量 说明
p2p 单聊
superTeam 超大群
team 高级群

具体消息收发的流程,请参见消息收发

群组通知消息

NIM SDK 内置支持的会话消息类型(EMsgType)中的通知消息(notification)主要用于群组的事件通知,由服务端下发,客户端无法发送事件通知消息。

群组可能会触发以下事件,具体事件类型请参见IMEventInterface

  • teams:初始化同步群
  • createTeam 多端同步创建群的情况
  • updateTeamMember 更新群成员的多端同步
  • updateTeam 群更新
  • addTeamMembers 群成员添加
  • updateTeamManagers 群管理员更新
  • transferTeam 转让群
  • removeTeamMembers 移除群成员
  • dismissTeam 解散群
  • updateTeamMembersMute 群成员禁言

示例代码如下:

// 事件声明
  const eventList = [
  'teams',// 初始化同步群
  'createTeam',// 多端同步创建群的情况
  'updateTeamMember',  // 更新群成员的多端同步
  'updateTeam', 'addTeamMembers', 'updateTeamManagers', 'transferTeam', 'removeTeamMembers', 'dismissTeam', 'updateTeamMembersMute',
  ]
// 注册监听
  eventList.forEach((key: any) => {
  nim.on(key, (res) => {
    console.log(`收到 ${key} 事件:`, res ? JSON.parse(JSON.stringify(res)) : res);
  });
})

群消息免打扰

SDK 支持对群消息通知提醒模式的配置。群消息通知提醒模式分为:

  • 全部提醒(默认)
  • 仅群主/管理员消息提醒
  • 全部不提醒

通过调用 updateMyMemberInfo 来修改群消息的提醒模式。

目前支持修改的属性包括以下三种:

  • nickInTeam: 自己在群组中的群昵称。更新昵称后, 所有其他在线的群成员会收到 updateTeamMember 事件通知。
  • bitConfigMask: 群组消息的提醒策略。0:开启提醒;1:关闭消息提醒;2:只接收群主和管理员的消息的提醒。
  • ext: 第三方扩展字段, 开发者可以自行扩展, 建议封装成 JSON 格式字符串。

接口原型:

jsupdateMyMemberInfo(options: UpdateMyMemberInfoOptions): Promise<TeamMember>

UpdateMyMemberInfoOptions 参数说明

参数 类型 说明
teamId String 群ID
bitConfigMask number 提醒策略
0:开启提醒
1:关闭消息提醒
2:只接收群主和管理员的消息的提醒
nickInTeam String 群昵称
ext String 第三方扩展字段, 开发者可以自行扩展, 建议封装成 JSON 格式字符串

示例代码:

jsawait nim.team.updateMyMemberInfo({
  teamId:  '{{TARGET_TEAM_ID}}',
  nickInTeam: '张三',
  bitConfigMask: '2',
  ext: '扩展字段, 建议封装成 JSON 格式字符串',
});

群消息已读回执

群聊消息已读回执相关接口,请参见发送已读回执

API 参考

API
说明
updateMyMemberInfo 设置指定群消息通知类型
sendTeamMsgReceipt (群消息接收方)标记群组消息已读
此文档是否对你有帮助?
有帮助
去反馈
  • 群消息收发
  • 群组通知消息
  • 群消息免打扰
  • 群消息已读回执
  • API 参考