Cleanup and refactoring
This commit is contained in:
@@ -77,7 +77,6 @@ appserv = AppService(config["homeserver.address"], config["homeserver.domain"],
|
||||
config["appservice.bot_username"], log=log.getChild("as"))
|
||||
context = (appserv, db_session, log, config)
|
||||
|
||||
|
||||
with appserv.run(config["appservice.hostname"], config["appservice.port"]) as start:
|
||||
init_db(db_session)
|
||||
init_formatter(context)
|
||||
|
||||
@@ -276,7 +276,8 @@ class CommandHandler:
|
||||
portal.main_intent.leave_room(portal.mxid)
|
||||
portal.delete()
|
||||
|
||||
def _strip_prefix(self, value, prefixes):
|
||||
@staticmethod
|
||||
def _strip_prefix(value, prefixes):
|
||||
for prefix in prefixes:
|
||||
if value.startswith(prefix):
|
||||
return value[len(prefix):]
|
||||
|
||||
@@ -20,6 +20,7 @@ import string
|
||||
|
||||
yaml = ruamel.yaml.YAML()
|
||||
|
||||
|
||||
class DictWithRecursion:
|
||||
def __init__(self, data={}):
|
||||
self._data = data
|
||||
@@ -77,23 +78,27 @@ class Config(DictWithRecursion):
|
||||
with open(self.registration_path, 'w') as stream:
|
||||
yaml.dump(self._registration, stream)
|
||||
|
||||
def _new_token(self):
|
||||
@staticmethod
|
||||
def _new_token():
|
||||
return "".join(random.choices(string.ascii_lowercase + string.digits, k=64))
|
||||
|
||||
def generate_registration(self):
|
||||
homeserver = self["homeserver.domain"]
|
||||
|
||||
username_format = self.get("bridge.username_template", "telegram_{userid}").format(userid=".+")
|
||||
alias_format = self.get("bridge.alias_template", "telegram_{groupname}").format(groupname=".+")
|
||||
username_format = self.get("bridge.username_template", "telegram_{userid}") \
|
||||
.format(userid=".+")
|
||||
alias_format = self.get("bridge.alias_template", "telegram_{groupname}") \
|
||||
.format(groupname=".+")
|
||||
|
||||
self.set("appservice.as_token", self._new_token())
|
||||
self.set("appservice.hs_token", self._new_token())
|
||||
|
||||
appservice = self.get("appservice", {})
|
||||
url = (f"{self['appservice.protocol']}://"
|
||||
+ f"{self['appservice.hostname']}:{self['appservice.port']}")
|
||||
self._registration = {
|
||||
"id": appservice.get("id", "telegram"),
|
||||
"as_token": appservice.get("as_token"),
|
||||
"hs_token": appservice.get("hs_token"),
|
||||
"id": self.get("appservice.id", "telegram"),
|
||||
"as_token": self["appservice.as_token"],
|
||||
"hs_token": self["appservice.hs_token"],
|
||||
"namespaces": {
|
||||
"users": [{
|
||||
"exclusive": True,
|
||||
@@ -104,7 +109,7 @@ class Config(DictWithRecursion):
|
||||
"regex": f"#{alias_format}:{homeserver}"
|
||||
}]
|
||||
},
|
||||
"url": f"{appservice.get('protocol')}://{appservice.get('hostname')}:{appservice.get('port')}",
|
||||
"sender_localpart": appservice.get("bot_username"),
|
||||
"url": url,
|
||||
"sender_localpart": self["appservice.bot_username"],
|
||||
"rate_limited": False
|
||||
}
|
||||
|
||||
@@ -45,7 +45,7 @@ class Message(Base):
|
||||
tgid = Column(Integer, primary_key=True)
|
||||
user = Column(Integer, ForeignKey("user.tgid"), primary_key=True)
|
||||
|
||||
__table_args__ = (UniqueConstraint('mxid', 'mx_room', 'user', name='_mx_id_room'), )
|
||||
__table_args__ = (UniqueConstraint('mxid', 'mx_room', 'user', name='_mx_id_room'),)
|
||||
|
||||
|
||||
class User(Base):
|
||||
|
||||
Reference in New Issue
Block a user