Add aliases to public channels/supergroups

This commit is contained in:
Tulir Asokan
2018-02-03 17:00:56 +02:00
parent f49f71ce8d
commit 166682fced
4 changed files with 33 additions and 29 deletions
+5 -4
View File
@@ -93,8 +93,8 @@ class AppService:
self.loop = loop or asyncio.get_event_loop()
self.log = log or logging.getLogger("mautrix_appservice")
self.query_user = query_user or (lambda: None)
self.query_alias = query_alias or (lambda: None)
self.query_user = query_user or (lambda user: None)
self.query_alias = query_alias or (lambda alias: None)
self.event_handlers = []
@@ -123,8 +123,9 @@ class AppService:
@contextmanager
def run(self, host="127.0.0.1", port=8080):
self._http_session = aiohttp.ClientSession(loop=self.loop)
self._intent = HTTPAPI(base_url=self.server, bot_mxid=self.bot_mxid, token=self.as_token,
log=self.log, state_store=self.state_store).bot_intent()
self._intent = HTTPAPI(base_url=self.server, domain=self.domain, bot_mxid=self.bot_mxid,
token=self.as_token, log=self.log,
state_store=self.state_store).bot_intent()
yield partial(aiohttp.web.run_app, self.app, host=host, port=port)
+5 -3
View File
@@ -23,9 +23,10 @@ from matrix_client.errors import MatrixRequestError
class HTTPAPI(MatrixHttpApi):
def __init__(self, base_url, bot_mxid=None, token=None, identity=None, log=None,
def __init__(self, base_url, domain=None, bot_mxid=None, token=None, identity=None, log=None,
state_store=None):
self.base_url = base_url
self.domain = domain
self.token = token
self.identity = identity
self.txn_id = 0
@@ -110,6 +111,7 @@ class ChildHTTPAPI(HTTPAPI):
self.base_url = parent.base_url
self.validate_cert = parent.validate_cert
self.log = parent.log
self.domain = parent.domain
self.parent = parent
@property
@@ -213,11 +215,11 @@ class IntentAPI:
def add_room_alias(self, room_id, alias):
self._ensure_registered()
self.client.set_room_alias(room_id, alias)
self.client.set_room_alias(room_id, f"#{alias}:{self.client.domain}")
def remove_room_alias(self, alias):
self._ensure_registered()
self.client.remove_room_alias(alias)
self.client.remove_room_alias(f"#{alias}:{self.client.domain}")
def set_room_name(self, room_id, name):
self._ensure_joined(room_id)