mirror of
https://github.com/janderedev/automod.git
synced 2024-12-22 18:55:28 +00:00
Merge branch 'master' of https://github.com/janderedev/automod
This commit is contained in:
commit
53da0f4dbe
|
@ -1,49 +0,0 @@
|
||||||
// Quick and dirty hack for https://github.com/revoltchat/revite/issues/609
|
|
||||||
// We periodically poll the `ready` WS event by creating a new client and compare
|
|
||||||
// the cached server count. If a new server is found, the original client reconnects
|
|
||||||
// and emits the `member/join` event for itself afterwards.
|
|
||||||
|
|
||||||
import { Client } from "@janderedev/revolt.js";
|
|
||||||
import { client } from "../..";
|
|
||||||
import logger from "../logger";
|
|
||||||
import { awaitClient } from "../util";
|
|
||||||
|
|
||||||
awaitClient().then(async () => {
|
|
||||||
setInterval(async () => {
|
|
||||||
logger.debug('Checking for unknown servers');
|
|
||||||
const knownServers = Array.from(client.servers.keys());
|
|
||||||
const tmpClient = new Client({
|
|
||||||
...client.options,
|
|
||||||
});
|
|
||||||
|
|
||||||
tmpClient.loginBot(process.env['BOT_TOKEN']!);
|
|
||||||
|
|
||||||
tmpClient.once('ready', async () => {
|
|
||||||
const tmpServers = Array.from(tmpClient.servers.keys());
|
|
||||||
if (tmpServers.length != knownServers.length) {
|
|
||||||
logger.warn('New unknown server(s) detected');
|
|
||||||
|
|
||||||
client.websocket.disconnect();
|
|
||||||
client.websocket.connect();
|
|
||||||
|
|
||||||
client.once('connected', async () => {
|
|
||||||
console.info('Client reconnected');
|
|
||||||
for (const id of tmpServers) {
|
|
||||||
if (!knownServers.includes(id)) {
|
|
||||||
try {
|
|
||||||
const server = client.servers.get(id) || await client.servers.fetch(id);
|
|
||||||
const member = server.member;
|
|
||||||
if (!member) continue;
|
|
||||||
|
|
||||||
client.emit('member/join', member);
|
|
||||||
} catch(e) {
|
|
||||||
console.error(e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
tmpClient.websocket.disconnect();
|
|
||||||
});
|
|
||||||
}, 1000 * 15);
|
|
||||||
});
|
|
|
@ -65,5 +65,4 @@ logger.info(`\
|
||||||
import('./bot/modules/metrics');
|
import('./bot/modules/metrics');
|
||||||
import('./bot/modules/bot_status');
|
import('./bot/modules/bot_status');
|
||||||
import('./bot/modules/fetch_all');
|
import('./bot/modules/fetch_all');
|
||||||
import('./bot/modules/event_fix');
|
|
||||||
})();
|
})();
|
||||||
|
|
Loading…
Reference in a new issue