@@ -44,16 +44,7 @@ class User extends SnowFlake {
44
44
console . error ( "missing localuser" ) ;
45
45
}
46
46
if ( dontclone ) {
47
- for ( const key of Object . keys ( userjson ) ) {
48
- if ( key === "bio" ) {
49
- this . bio = new MarkDown ( userjson [ key ] , this . localuser ) ;
50
- continue ;
51
- }
52
- if ( key === "id" ) {
53
- continue ;
54
- }
55
- ( this as any ) [ key ] = ( userjson as any ) [ key ] ;
56
- }
47
+ this . userupdate ( userjson ) ;
57
48
this . hypotheticalpfp = false ;
58
49
} else {
59
50
return User . checkuser ( userjson , owner ) ;
@@ -358,8 +349,12 @@ class User extends SnowFlake {
358
349
}
359
350
360
351
static checkuser ( user : User | userjson , owner : Localuser ) : User {
361
- if ( owner . userMap . has ( user . id ) ) {
362
- return owner . userMap . get ( user . id ) as User ;
352
+ const tempUser = owner . userMap . get ( user . id ) ;
353
+ if ( tempUser ) {
354
+ if ( ! ( user instanceof User ) ) {
355
+ tempUser . userupdate ( user ) ;
356
+ }
357
+ return tempUser ;
363
358
} else {
364
359
const tempuser = new User ( user as userjson , owner , true ) ;
365
360
owner . userMap . set ( user . id , tempuser ) ;
@@ -456,8 +451,15 @@ class User extends SnowFlake {
456
451
}
457
452
458
453
userupdate ( json : userjson ) : void {
459
- if ( json . avatar !== this . avatar ) {
460
- this . changepfp ( json . avatar ) ;
454
+ for ( const key of Object . keys ( json ) ) {
455
+ if ( key === "bio" ) {
456
+ this . bio = new MarkDown ( json [ key ] , this . localuser ) ;
457
+ continue ;
458
+ }
459
+ if ( key === "id" ) {
460
+ continue ;
461
+ }
462
+ ( this as any ) [ key ] = ( json as any ) [ key ] ;
461
463
}
462
464
}
463
465
0 commit comments