diff --git a/.dist/localuser.js b/.dist/localuser.js index 26d5f16..97ec9f7 100644 --- a/.dist/localuser.js +++ b/.dist/localuser.js @@ -828,7 +828,7 @@ class Localuser { } } { - const security = settings.addButton("Account Security"); + const security = settings.addButton("Account Settings"); if (this.mfa_enabled) { security.addTextInput("Disable 2FA, totp code:", _ => { fetch(this.info.api + "/users/@me/mfa/totp/disable", { @@ -887,6 +887,25 @@ class Localuser { addmodel.show(); }); } + let disc = ""; + const updatedisc = security.addButtonInput("", "Change discriminator", () => { + const update = new Dialog(["vdiv", + ["title", "Change discriminator"], + ["textbox", "New discriminator:", "", (e) => { + disc = e.target.value; + }], + ["button", "", "submit", () => { + this.changeDiscriminator(disc).then(_ => { + if (_.message) { + alert(_.errors.discriminator._errors[0].message); + } + else { + update.hide(); + } + }); + }]]); + update.show(); + }); } { const connections = settings.addButton("Connections"); @@ -965,6 +984,13 @@ class Localuser { } settings.show(); } + async changeDiscriminator(discriminator) { + return await (await fetch(this.info.api + "/users/@me/", { + method: "PATCH", + headers: this.headers, + body: JSON.stringify({ discriminator }) + })).json(); + } async manageApplication(appId = "") { const res = await fetch(this.info.api + "/applications/" + appId, { headers: this.headers @@ -1120,6 +1146,9 @@ class Localuser { waitingmembers = new Map(); presences = new Map(); async resolvemember(id, guildid) { + if (guildid === "@me") { + return undefined; + } if (!this.waitingmembers.has(guildid)) { this.waitingmembers.set(guildid, new Map()); } diff --git a/webpage/localuser.ts b/webpage/localuser.ts index 8ad8553..6ab9684 100644 --- a/webpage/localuser.ts +++ b/webpage/localuser.ts @@ -847,7 +847,7 @@ class Localuser{ } } { - const security=settings.addButton("Account Security"); + const security=settings.addButton("Account Settings"); if(this.mfa_enabled){ security.addTextInput("Disable 2FA, totp code:",_=>{ fetch(this.info.api+"/users/@me/mfa/totp/disable",{ @@ -905,6 +905,25 @@ class Localuser{ addmodel.show(); }) } + let disc=""; + const updatedisc=security.addButtonInput("","Change discriminator",()=>{ + const update=new Dialog(["vdiv", + ["title","Change discriminator"], + ["textbox","New discriminator:","",(e:InputEvent)=>{ + disc=(e.target as HTMLInputElement).value; + }], + ["button","","submit",()=>{ + this.changeDiscriminator(disc).then(_=>{ + if(_.message){ + alert(_.errors.discriminator._errors[0].message); + }else{ + update.hide(); + } + }) + }] + ]) + update.show(); + }) } { const connections=settings.addButton("Connections"); @@ -992,6 +1011,13 @@ class Localuser{ } settings.show(); } + async changeDiscriminator(discriminator:string){ + return await (await fetch(this.info.api+"/users/@me/",{ + method:"PATCH", + headers:this.headers, + body:JSON.stringify({discriminator}) + })).json(); + } async manageApplication(appId="") { const res=await fetch(this.info.api+"/applications/" + appId, { headers: this.headers @@ -1152,6 +1178,7 @@ class Localuser{ readonly waitingmembers:Mapvoid>>=new Map(); readonly presences:Map=new Map(); async resolvemember(id:string,guildid:string):Promise{ + if(guildid==="@me"){return undefined} if(!this.waitingmembers.has(guildid)){ this.waitingmembers.set(guildid,new Map()); }