diff --git a/synapse/handlers/message.py b/synapse/handlers/message.py index 81cff0870e77aaa6783c1de38afc7d2bfa01064e..1cb81b6cf849a0d604a15dcceccb7f519cdd05bb 100644 --- a/synapse/handlers/message.py +++ b/synapse/handlers/message.py @@ -572,6 +572,9 @@ class EventCreationHandler(object): u = yield self.store.get_user_by_id(user_id) assert u is not None + if u["appservice_id"] is not None: + # users registered by an appservice are exempt + return if u["consent_version"] == self.config.user_consent_version: return diff --git a/synapse/storage/registration.py b/synapse/storage/registration.py index a530e29f438c88ca391eb013f830fc77cf117187..40f7cc16ee965a63b667fbcac86d7ffc1555f0cd 100644 --- a/synapse/storage/registration.py +++ b/synapse/storage/registration.py @@ -36,6 +36,7 @@ class RegistrationWorkerStore(SQLBaseStore): retcols=[ "name", "password_hash", "is_guest", "consent_version", "consent_server_notice_sent", + "appservice_id", ], allow_none=True, desc="get_user_by_id",