Compare commits
2 Commits
6a6c2da584
...
4ae0a16457
| Author | SHA1 | Date | |
|---|---|---|---|
| 4ae0a16457 | |||
| 1775976045 |
@ -144,6 +144,24 @@ export async function handle(rcMessage: RcMessage): Promise<void> {
|
|||||||
)
|
)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
const roomCreatorId = (
|
||||||
|
await axios.get(`/_synapse/admin/v1/rooms/${room_id}`)
|
||||||
|
).data.creator
|
||||||
|
if (!roomCreatorId) {
|
||||||
|
log.warn(
|
||||||
|
`Could not determine room creator for room ${room_id}, using admin credentials.`
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
log.warn(
|
||||||
|
`Room creator ${roomCreatorId}.`
|
||||||
|
)
|
||||||
|
if (roomCreatorId == matrixUser) {
|
||||||
|
log.warn(
|
||||||
|
`Room creator left room ${room_id}, skipping to prevent being unable to rejoin.`
|
||||||
|
)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
log.http(`User ${matrixUser} leaves room ${room_id}`)
|
log.http(`User ${matrixUser} leaves room ${room_id}`)
|
||||||
await axios.post(
|
await axios.post(
|
||||||
|
|||||||
@ -84,8 +84,8 @@ async function registerUser(user: MatrixUser): Promise<AccessToken> {
|
|||||||
async function getUserData(user: MatrixUser): Promise<UserInfo> {
|
async function getUserData(user: MatrixUser): Promise<UserInfo> {
|
||||||
return (await axios.get('/_synapse/admin/v2/users/@' + user.username + ":" + getUserDomain())).data
|
return (await axios.get('/_synapse/admin/v2/users/@' + user.username + ":" + getUserDomain())).data
|
||||||
}
|
}
|
||||||
async function getUserLogin(user: MatrixUser): Promise<AccessToken> {
|
async function loginUser(user: MatrixUser): Promise<AccessToken> {
|
||||||
return (await axios.get('/_synapse/admin/v1/users/@' + user.username + ":" + getUserDomain() + "/login")).data
|
return (await axios.post('/_synapse/admin/v1/users/@' + user.username + ":" + getUserDomain() + "/login")).data
|
||||||
}
|
}
|
||||||
|
|
||||||
async function parseUserMemberships(rcUser: RcUser): Promise<void> {
|
async function parseUserMemberships(rcUser: RcUser): Promise<void> {
|
||||||
@ -143,7 +143,7 @@ export async function createUser(rcUser: RcUser): Promise<MatrixUser> {
|
|||||||
user.user_id = userData.name
|
user.user_id = userData.name
|
||||||
user.displayname = userData.displayname
|
user.displayname = userData.displayname
|
||||||
user.admin = user.admin || userData.admin
|
user.admin = user.admin || userData.admin
|
||||||
const accessToken = await getUserLogin(user)
|
const accessToken = await loginUser(user)
|
||||||
user.access_token = accessToken.access_token
|
user.access_token = accessToken.access_token
|
||||||
log.info(`User ${rcUser.username} exists:`, user)
|
log.info(`User ${rcUser.username} exists:`, user)
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user