Persist Matrix state
This commit is contained in:
@@ -152,7 +152,6 @@ class IntentAPI:
|
||||
self.localpart = results.group(1)
|
||||
|
||||
self.state_store = state_store
|
||||
self.registered = False
|
||||
|
||||
def user(self, user):
|
||||
if not self.bot:
|
||||
@@ -336,15 +335,16 @@ class IntentAPI:
|
||||
raise IntentError(f"Failed to join room {room_id} as {self.mxid}", e2)
|
||||
|
||||
def _ensure_registered(self):
|
||||
if self.registered:
|
||||
if self.state_store.is_registered(self.mxid):
|
||||
return
|
||||
try:
|
||||
self.client.register({"username": self.localpart})
|
||||
except MatrixRequestError as e:
|
||||
if matrix_error_code(e) != "M_USER_IN_USE":
|
||||
self.log.exception(f"Failed to register {self.mxid}!")
|
||||
return
|
||||
# raise IntentError(f"Failed to register {self.mxid}", e)
|
||||
self.registered = True
|
||||
self.state_store.registered(self.mxid)
|
||||
|
||||
def _ensure_has_power_level_for(self, room_id, event_type):
|
||||
if not self.state_store.has_power_level_data(room_id):
|
||||
|
||||
Reference in New Issue
Block a user