Merge pull request #8 from gractwo/heisenberg
member count api - discordjs cache bypass
This commit is contained in:
30
src/index.ts
30
src/index.ts
@@ -6,25 +6,45 @@ import config from './cfg.json';
|
||||
dotenv.config();
|
||||
|
||||
const client = new DiscordJS.Client({
|
||||
intents: [DiscordJS.GatewayIntentBits.Guilds],
|
||||
intents: [
|
||||
DiscordJS.GatewayIntentBits.Guilds,
|
||||
DiscordJS.GatewayIntentBits.GuildMembers,
|
||||
],
|
||||
});
|
||||
const app = express();
|
||||
const port = process.env.PORT || config.api.fallbackPort;
|
||||
let memberCount: number | null, previousCount: number | null;
|
||||
|
||||
app.get('/', (req, res) => {
|
||||
res.sendStatus(200);
|
||||
});
|
||||
app.get('/members', (req, res) => {
|
||||
res.send(
|
||||
client.guilds.resolve(config.api.memberCountGuildId)?.memberCount.toString()
|
||||
);
|
||||
res
|
||||
.status(memberCount ? 200 : 500)
|
||||
.send(memberCount ? memberCount.toString() : 'Server Error');
|
||||
});
|
||||
|
||||
client.on('guildMemberAdd', () => {
|
||||
if (memberCount) memberCount++;
|
||||
});
|
||||
client.on('guildMemberRemove', () => {
|
||||
if (memberCount) memberCount--;
|
||||
});
|
||||
client.on('ready', () => {
|
||||
console.log(`BOT: Now logged in as ${client.user?.tag}.`);
|
||||
memberCount =
|
||||
client.guilds.resolve(config.api.memberCountGuildId)?.memberCount || null;
|
||||
setInterval(() => {
|
||||
if (previousCount != memberCount) {
|
||||
console.log(
|
||||
`API/BOT: Gractwo memberCount is ${`now ${memberCount}` || 'unset'}.`
|
||||
);
|
||||
}
|
||||
previousCount = memberCount;
|
||||
}, 5 * 1000);
|
||||
});
|
||||
|
||||
const api = app.listen(port, () => {
|
||||
app.listen(port, () => {
|
||||
console.log(`API: Now listening on :${port}.`);
|
||||
});
|
||||
client.login(process.env.TOKEN);
|
||||
|
||||
Reference in New Issue
Block a user