1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import { discordFetch } from "https://esm.town/v/vtdocs/discordFetch";
export const discordGetMembers = async (
botToken: string,
serverId: number | string,
) => {
const allMembers = [];
// user.id is of type snowflake (too large to be represented as numbers)
let highestId = BigInt(0);
while (true) {
const result = await discordFetch(
botToken,
`/guilds/${serverId}/members?limit=1000&after=${highestId}`,
);
if (result.length === 0) {
break;
}
result.forEach((member) => {
const n = BigInt(member.user.id);
if (n > highestId) {
highestId = n;
}
});
allMembers.push(...result);
}
return allMembers;
};
Val Town is a social website to write and deploy JavaScript.
Build APIs and schedule functions from your browser.
Comments
Nobody has commented on this val yet: be the first!
October 23, 2023