You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Node.js中通过whatsapp-web.js获取群信息及使用GroupChat方法

在whatsapp-web.js中利用已有群组聊天对象获取群组信息

首先明确:你通过client.getChats()获取到的chat对象,当chat.isGroup为true时,它本身就是GroupChat的实例,不需要再调用new GroupChat()重新创建。直接用过滤后的groupChats数组里的对象,就能获取群组所有者、成员等信息。

获取群组成员列表

每个群组对象的participants属性是成员数组,每个成员包含id(用户标识)、isAdmin(是否管理员)、isSuperAdmin(是否超级管理员/群主)等字段:

// 遍历所有筛选出的群组
for (const group of groupChats) {
  console.log(`群组名称: ${group.name}`);
  console.log("成员列表:");
  group.participants.forEach(participant => {
    console.log(`- 用户ID: ${participant.id._serialized}, 昵称: ${participant.name || '无'}, 是否管理员: ${participant.isAdmin}, 是否群主: ${participant.isSuperAdmin}`);
  });
}

获取群组所有者(群主)

通过筛选participants中isSuperAdmin为true的成员即可定位群主:

for (const group of groupChats) {
  const owner = group.participants.find(p => p.isSuperAdmin);
  if (owner) {
    console.log(`群组「${group.name}」的群主: ${owner.name || owner.id._serialized}`);
  }
}

其他常用群组信息

除成员和群主外,还可直接获取以下信息:

  • group.id:群组唯一标识
  • group.description:群组描述
  • group.createdAt:群组创建时间
  • group.isAnnounce:是否为公告群

手动实例化GroupChat的场景(不推荐)

如果确实需要手动创建GroupChat实例(多数场景下无需这么做),可传入客户端实例和群组原始数据:

const { GroupChat } = require('whatsapp-web.js');

// 从chats中取某一群组的原始数据
const rawGroupData = chats.find(chat => chat.isGroup)._data;
const customGroupChat = new GroupChat(client, rawGroupData);

// 调用实例的属性和方法
console.log(customGroupChat.participants);

内容的提问来源于stack exchange,提问作者arslan ahmed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 04:28:12