send GUILD_CREATE after READY event (#938)

* Fix lazy guilds being sent before READY event

* Make casing consistent
This commit is contained in:
V3L0C1T13S 2023-01-16 23:44:29 -05:00 committed by GitHub
parent 0af3da6db7
commit eb2f6ab79a

View File

@ -141,18 +141,11 @@ export async function onIdentify(this: WebSocket, data: Payload) {
}) as PublicMember[][]; }) as PublicMember[][];
let guilds = members.map((x) => ({ ...x.guild, joined_at: x.joined_at })); let guilds = members.map((x) => ({ ...x.guild, joined_at: x.joined_at }));
const pending_guilds: typeof guilds = [];
// @ts-ignore // @ts-ignore
guilds = guilds.map((guild) => { guilds = guilds.map((guild) => {
if (user.bot) { if (user.bot) {
setTimeout(() => { pending_guilds.push(guild);
var promise = Send(this, {
op: OPCODES.Dispatch,
t: EVENTEnum.GuildCreate,
s: this.sequence++,
d: guild,
});
if (promise) promise.catch(console.error);
}, 500);
return { id: guild.id, unavailable: true }; return { id: guild.id, unavailable: true };
} }
@ -314,6 +307,17 @@ export async function onIdentify(this: WebSocket, data: Payload) {
d, d,
}); });
await Promise.all(
pending_guilds.map((guild) =>
Send(this, {
op: OPCODES.Dispatch,
t: EVENTEnum.GuildCreate,
s: this.sequence++,
d: guild,
})?.catch(console.error),
),
);
//TODO send READY_SUPPLEMENTAL //TODO send READY_SUPPLEMENTAL
//TODO send GUILD_MEMBER_LIST_UPDATE //TODO send GUILD_MEMBER_LIST_UPDATE
//TODO send SESSIONS_REPLACE //TODO send SESSIONS_REPLACE