Cope if the username is already registered

This commit is contained in:
Cadence Ember 2024-12-02 15:06:10 +13:00
parent a35860cb15
commit 88a232fb4a
2 changed files with 14 additions and 15 deletions
scripts
src/matrix

View file

@ -276,15 +276,7 @@ async function validateHomeserverOrigin(serverUrlPrompt, url) {
console.log("✅ Database is ready...")
// ensure appservice bot user is registered...
try {
await api.register(reg.sender_localpart)
} catch (e) {
if (e.errcode === "M_USER_IN_USE" || e.data?.error === "Internal server error") {
// "Internal server error" is the only OK error because older versions of Synapse say this if you try to register the same username twice.
} else {
throw e
}
}
await api.register(reg.sender_localpart)
// upload initial images...
const avatarUrl = await file.uploadDiscordFileToMxc("https://cadence.moe/friends/out_of_your_element.png")

View file

@ -35,14 +35,21 @@ function path(p, mxid, otherParams = {}) {
/**
* @param {string} username
* @returns {Promise<Ty.R.Registered>}
*/
function register(username) {
async function register(username) {
console.log(`[api] register: ${username}`)
return mreq.mreq("POST", "/client/v3/register", {
type: "m.login.application_service",
username
})
try {
await mreq.mreq("POST", "/client/v3/register", {
type: "m.login.application_service",
username
})
} catch (e) {
if (e.errcode === "M_USER_IN_USE" || e.data?.error === "Internal server error") {
// "Internal server error" is the only OK error because older versions of Synapse say this if you try to register the same username twice.
} else {
throw e
}
}
}
/**