Add include_user_id_in_mxid setting

This commit is contained in:
Cadence Ember 2024-07-21 14:56:58 +12:00
parent eb98af0ac3
commit 541c5e1eb5
4 changed files with 15 additions and 0 deletions

View file

@ -1,6 +1,7 @@
// @ts-check
const assert = require("assert")
const registration = require("../../matrix/read-registration")
const passthrough = require("../../passthrough")
const {select} = passthrough
@ -24,6 +25,10 @@ function downcaseUsername(user) {
.replace(/[^a-z0-9._=/-]*/g, "")
// remove leading and trailing dashes and underscores...
.replace(/(?:^[_-]*|[_-]*$)/g, "")
// If requested, also make the Discord user ID part of the username
if (registration.ooye.include_user_id_in_mxid) {
downcased = user.id + "_" + downcased
}
// The new length must be at least 2 characters (in other words, it should have some content)
if (downcased.length < 2) {
downcased = user.id

View file

@ -44,3 +44,11 @@ test("user2name: uses ID when name has only disallowed characters", t => {
test("user2name: works on special user", t => {
t.equal(userToSimName(data.user.clyde_ai), "clyde_ai")
})
test("user2name: includes ID if requested in config", t => {
const reg = require("../../matrix/read-registration")
reg.ooye.include_user_id_in_mxid = true
t.equal(userToSimName({username: "Harry Styles!", discriminator: "0001", id: "123456"}), "123456_harry_styles")
t.equal(userToSimName({username: "f***", discriminator: "0001", id: "123456"}), "123456_f")
reg.ooye.include_user_id_in_mxid = false
})