diff --git a/src/service/appservice/mod.rs b/src/service/appservice/mod.rs index cc44ef87..b99ed7aa 100644 --- a/src/service/appservice/mod.rs +++ b/src/service/appservice/mod.rs @@ -109,6 +109,18 @@ impl Service { registration: &Registration, appservice_config_body: &str, ) -> Result { + let appservice_user = UserId::parse_with_server_name( + ®istration.sender_localpart, + &self.services.config.server_name, + )?; + + if !self.services.users.exists(&appservice_user).await { + self.services + .users + .create(&appservice_user, None, None) + .await?; + } + //TODO: Check for collisions between exclusive appservice namespaces self.registration_info .write()