Web

群消息管理

更新时间: 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 超大群成员禁言

示例代码如下:

// 事件声明
  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 格式字符串',
});
此文档是否对你有帮助?
有帮助
去反馈
  • 超大群消息收发
  • 超大群通知消息
  • 超大群消息免打扰