Fix avatar changes and outgoing meta change deduplication

Also move the telegram ID -> MXID generation to Puppet.get_mxid_from_id()
This commit is contained in:
Tulir Asokan
2018-02-19 19:52:45 +02:00
parent f926727a8d
commit 0a6130607d
6 changed files with 21 additions and 13 deletions
+11 -7
View File
@@ -31,15 +31,14 @@ class Puppet:
db = None
az = None
mxid_regex = None
username_template = None
hs_domain = None
cache = {}
def __init__(self, id=None, username=None, displayname=None, photo_id=None):
self.id = id
self.mxid = self.get_mxid_from_id(self.id)
self.localpart = config.get("bridge.username_template", "telegram_{userid}").format(
userid=self.id)
hs = config["homeserver"]["domain"]
self.mxid = f"@{self.localpart}:{hs}"
self.username = username
self.displayname = displayname
self.photo_id = photo_id
@@ -161,6 +160,10 @@ class Puppet:
return int(match.group(1))
return None
@classmethod
def get_mxid_from_id(cls, id):
return f"@{cls.username_template.format(userid=id)}:{cls.hs_domain}"
@classmethod
def find_by_username(cls, username):
for _, puppet in cls.cache.items():
@@ -177,6 +180,7 @@ class Puppet:
def init(context):
global config
Puppet.az, Puppet.db, config, _, _ = context
localpart = config.get("bridge.username_template", "telegram_{userid}").format(userid="(.+)")
hs = config["homeserver"]["domain"]
Puppet.mxid_regex = re.compile(f"@{localpart}:{hs}")
Puppet.username_template = config.get("bridge.username_template", "telegram_{userid}")
Puppet.hs_domain = config["homeserver"]["domain"]
localpart = Puppet.username_template.format(userid="(.+)")
Puppet.mxid_regex = re.compile(f"@{localpart}:{Puppet.hs_domain}")