Update to the User object

This commit is contained in:
MathMan05 2024-08-26 13:43:53 -05:00
parent a90e584790
commit b886e1ad1b
8 changed files with 24 additions and 31 deletions

View file

@ -33,6 +33,7 @@ class Localuser {
typing = new Map();
connectionSucceed = 0;
errorBackoff = 0;
userMap = new Map();
instancePing = {
name: "Unknown",
};
@ -119,7 +120,6 @@ class Localuser {
this.ws.close(4001);
}
SnowFlake.clear();
User.clear();
}
swapped = false;
async initwebsocket() {
@ -833,7 +833,7 @@ class Localuser {
}, { clear: true });
finput.watchForChange(_ => {
if (!_) {
file = _;
file = null;
hypouser.avatar = null;
hypouser.hypotheticalpfp = true;
regen();

View file

@ -10,8 +10,9 @@ class Member {
id;
nick;
constructor(memberjson, owner) {
if (User.userids[memberjson.id]) {
this.user = User.userids[memberjson.id];
this.owner = owner;
if (this.localuser.userMap.has(memberjson.id)) {
this.user = this.localuser.userMap.get(memberjson.id);
}
else if (memberjson.user) {
this.user = new User(memberjson.user, owner.localuser);
@ -19,7 +20,6 @@ class Member {
else {
throw new Error("Missing user object of this member");
}
this.owner = owner;
for (const thing of Object.keys(memberjson)) {
if (thing === "guild") {
continue;
@ -52,8 +52,8 @@ class Member {
}
static async new(memberjson, owner) {
let user;
if (User.userids[memberjson.id]) {
user = User.userids[memberjson.id];
if (owner.localuser.userMap.has(memberjson.id)) {
user = owner.localuser.userMap.get(memberjson.id);
}
else if (memberjson.user) {
user = new User(memberjson.user, owner.localuser);

View file

@ -557,7 +557,7 @@ class Message {
for (const i in this.reactions) {
const reaction = this.reactions[i];
if ((reaction.emoji.id && reaction.emoji.id == emoji.id) || (!reaction.emoji.id && reaction.emoji.name == emoji.name)) {
this.reactions.splice(i, 1);
this.reactions.splice(+i, 1);
this.updateReactions();
break;
}

View file

@ -4,7 +4,6 @@ import { MarkDown } from "./markdown.js";
import { Contextmenu } from "./contextmenu.js";
import { SnowFlake } from "./snowflake.js";
class User {
static userids = {};
owner;
hypotheticalpfp;
snowflake;
@ -125,16 +124,13 @@ class User {
return (us.hasPermission("BAN_MEMBERS")) || false;
});
}
static clear() {
this.userids = {};
}
static checkuser(user, owner) {
if (User.userids[user.id]) {
return User.userids[user.id];
if (owner.userMap.has(user.id)) {
return owner.userMap.get(user.id);
}
else {
const tempuser = new User(user, owner, true);
User.userids[user.id] = tempuser;
owner.userMap.set(user.id, tempuser);
return tempuser;
}
}