const XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
const x = new XMLHttpRequest();
x.open('GET', 'https://slack.com/api/conversations.members?token=xxx&channel=xxx');
x.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
x.onload = () => {
const array_1 = shuffle(JSON.parse(this.responseText).members)
const array_cleaned = array_1.filter(v => v.length <= 9);
array_cleaned.forEach(v => {
const y = new XMLHttpRequest()
y.open('GET', 'https://slack.com/api/users.profile.get?token=xxx&user=' + v);
y.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
y.onload = () => {
const displayName = JSON.parse(this.responseText).profile.display_name;
console.log('В группе состоит ' + displayName)
arrName.push(displayName);
if (arrName.length === array_cleaned.length) console.log(arrName)
}
y.send();
});
console.log(array_cleaned);
}
x.send();
rules определяет как раз описанные вами правила, если вдруг изменится достаточно изменить rules. Сделано для универсальности.