mirror of
https://github.com/stoatchat/javascript-client-sdk.git
synced 2026-07-18 16:34:27 -04:00
fix: skip & use extra fields where necessary
This commit is contained in:
+2
-2
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "revolt.js",
|
||||
"version": "7.0.4",
|
||||
"version": "7.0.5",
|
||||
"main": "lib/cjs/index.js",
|
||||
"module": "lib/esm/index.js",
|
||||
"types": "lib/esm/index.d.ts",
|
||||
@@ -54,4 +54,4 @@
|
||||
"typedoc": "^0.25.1",
|
||||
"typescript": "^5.4.2"
|
||||
}
|
||||
}
|
||||
}
|
||||
+11
-15
@@ -239,22 +239,18 @@ export async function handleEvent(
|
||||
}
|
||||
case "Message": {
|
||||
if (!client.messages.has(event._id)) {
|
||||
// TODO: this should not be necessary in future protocols:
|
||||
if (
|
||||
event.author &&
|
||||
event.author != "00000000000000000000000000" &&
|
||||
!event.webhook &&
|
||||
// TODO: this is causing a lot of extra requests!
|
||||
// usually 2 extra requests before a message can come through!!
|
||||
client.options.eagerFetching
|
||||
) {
|
||||
await client.users.fetch(event.author);
|
||||
const serverId = client.channels.get(event.channel)?.serverId;
|
||||
if (serverId)
|
||||
await client.serverMembers.fetch(serverId, event.author);
|
||||
}
|
||||
|
||||
batch(() => {
|
||||
if (event.member) {
|
||||
client.serverMembers.getOrCreate(event.member._id, event.member);
|
||||
}
|
||||
|
||||
if (event.user) {
|
||||
client.users.getOrCreate(event.user._id, event.user);
|
||||
}
|
||||
|
||||
delete event.member;
|
||||
delete event.user;
|
||||
|
||||
client.messages.getOrCreate(event._id, event, true);
|
||||
client.channels.updateUnderlyingObject(
|
||||
event.channel,
|
||||
|
||||
@@ -15,6 +15,7 @@ export type HydratedUser = {
|
||||
discriminator: string;
|
||||
displayName?: string;
|
||||
relationship: RelationshipStatus;
|
||||
relations: null;
|
||||
|
||||
online: boolean;
|
||||
privileged: boolean;
|
||||
@@ -38,6 +39,7 @@ export const userHydration: Hydrate<ApiUser, HydratedUser> = {
|
||||
discriminator: (user) => user.discriminator,
|
||||
displayName: (user) => user.display_name!,
|
||||
relationship: (user) => user.relationship!,
|
||||
relations: () => null,
|
||||
|
||||
online: (user) => user.online!,
|
||||
privileged: (user) => user.privileged,
|
||||
|
||||
Reference in New Issue
Block a user