了解 WhatsApp 群组参与者人数的 API / 代码

问题描述 投票:0回答:1

有没有办法以编程方式确定 WhatsApp 群组中的参与者数量?
(比如 API、网络抓取之类的?)

我想创建几个WhatsApp群组(例如:群组1、群组2),并将邀请链接存储到后端。在访问服务器时,它将检查 group1 计数是否小于 256,如果否,则检查 group2 计数等,并返回第一个未满的链接。因此,可以通过一个链接注册多个群组。


这个问题也可能是以下问题的解决方案:
当限制已满时,如何自动将人们重定向到多个 WhatsApp 群组?
如何在 WhatsApp 群组中添加超过 256 人(不可能)?

whatsapp whatsapi
1个回答
0
投票

鉴于评论中持续存在的问题,该主题似乎仍然相关。首先,我要澄清一下,您不能将超过 256 人添加到 WhatsApp 群组;这是 WhatsApp 本身设置的限制。然而,自动化组管理可以相当容易地完成。我个人在工作中使用 Whipi.Cloud。您可以执行以下操作:

该提供商提供了一种收集有关团体及其成员的信息的方法。这样,您可以检查每个组中已有多少参与者。 他们还有一个 API 方法来创建群组邀请。这意味着您可以按照自己的意愿生成并保存邀请链接。 您可以轻松地在服务器上实现用户重定向,方法是检查每个组中的参与者数量,然后将用户重定向到第一个尚未满员的组。

const request = require('request');
            
            // Your API token
            const apiToken = 'FMjkgWhiIIWBOaQEd44pJXpYiKrrQdNX';
            
            // Function to get information about all groups
            function getGroupInfo(callback) {
              const options = {
                method: 'GET',
                url: `https://gate.whapi.cloud/groups?count=100&token=${apiToken}`,
                headers: { accept: 'application/json' }
              };
              request(options, function (error, response, body) {
                if (error) throw new Error(error);
                callback(JSON.parse(body));
              });
            }
            
            // Function to generate an invite link for a group
            function generateInviteLink(groupId, callback) {
              const options = {
                method: 'GET',
                url: `https://gate.whapi.cloud/groups/${groupId}/invite?token=${apiToken}`,
                headers: { accept: 'application/json' }
              };
              request(options, function (error, response, body) {
                if (error) throw new Error(error);
                callback(JSON.parse(body).inviteLink);
              });
            }
            
            // Function to find a group with less than 256 members and return its invite link
            function getAvailableGroupLink(callback) {
              getGroupInfo(function(groups) {
                for (let group of groups) {
                  const memberCount = group.members.length;  // Assume 'members' is an array of group members
                  if (memberCount < 256) {
                    generateInviteLink(group.id, function(inviteLink) {
                      callback(inviteLink);
                      return;
                    });
                    return;
                  }
                }
                callback('All groups are full.');
              });
            }
            
            // Example usage
            getAvailableGroupLink(function(link) {
              if (link !== 'All groups are full.') {
                console.log(`Redirect the user using this link: ${link}`);
              } else {
                console.log('All groups are full.');
              }
            });

如果有的话,所有方法的列表都在这里:https://whapi.cloud/docs。采用我列出的方法,还有许多其他有用的方法。我希望这有帮助!

UPD 显然有一些细微的变化。我现在仔细检查了,你需要 /getgroup 方法。响应将是参与者参数(对象数组)。这就是你需要计算的。

© www.soinside.com 2019 - 2024. All rights reserved.