Allow specifying address and listen host/port separately. Fixes #160
This commit is contained in:
+4
-5
@@ -11,12 +11,11 @@ homeserver:
|
|||||||
# Application service host/registration related details
|
# Application service host/registration related details
|
||||||
# Changing these values requires regeneration of the registration.
|
# Changing these values requires regeneration of the registration.
|
||||||
appservice:
|
appservice:
|
||||||
# The protocol the homeserver should use when connecting to this appservice.
|
# The address that the homeserver can use to connect to this appservice.
|
||||||
# Usually "http" or "https".
|
address: http://localhost:8080
|
||||||
protocol: http
|
|
||||||
|
|
||||||
# The hostname and port where the homeserver can find this appservice.
|
# The hostname and port where this appservice should listen.
|
||||||
hostname: localhost
|
hostname: 0.0.0.0
|
||||||
port: 8080
|
port: 8080
|
||||||
|
|
||||||
# The full URI to the database.
|
# The full URI to the database.
|
||||||
|
|||||||
@@ -144,7 +144,12 @@ class Config(DictWithRecursion):
|
|||||||
copy("homeserver.verify_ssl")
|
copy("homeserver.verify_ssl")
|
||||||
copy("homeserver.domain")
|
copy("homeserver.domain")
|
||||||
|
|
||||||
copy("appservice.protocol")
|
if "appservice.protocol" in self and "appservice.address" not in self:
|
||||||
|
protocol, hostname, port = (self["appservice.protocol"], self["appservice.hostname"],
|
||||||
|
self["appservice.port"])
|
||||||
|
base["appservice.address"] = f"{protocol}://{hostname}:{port}"
|
||||||
|
else:
|
||||||
|
copy("appservice.address")
|
||||||
copy("appservice.hostname")
|
copy("appservice.hostname")
|
||||||
copy("appservice.port")
|
copy("appservice.port")
|
||||||
|
|
||||||
@@ -257,10 +262,8 @@ class Config(DictWithRecursion):
|
|||||||
self.set("appservice.as_token", self._new_token())
|
self.set("appservice.as_token", self._new_token())
|
||||||
self.set("appservice.hs_token", self._new_token())
|
self.set("appservice.hs_token", self._new_token())
|
||||||
|
|
||||||
url = (f"{self['appservice.protocol']}://"
|
|
||||||
f"{self['appservice.hostname']}:{self['appservice.port']}")
|
|
||||||
self._registration = {
|
self._registration = {
|
||||||
"id": self.get("appservice.id", "telegram"),
|
"id": self["appservice.id"] or "telegram",
|
||||||
"as_token": self["appservice.as_token"],
|
"as_token": self["appservice.as_token"],
|
||||||
"hs_token": self["appservice.hs_token"],
|
"hs_token": self["appservice.hs_token"],
|
||||||
"namespaces": {
|
"namespaces": {
|
||||||
@@ -273,7 +276,7 @@ class Config(DictWithRecursion):
|
|||||||
"regex": f"#{alias_format}:{homeserver}"
|
"regex": f"#{alias_format}:{homeserver}"
|
||||||
}]
|
}]
|
||||||
},
|
},
|
||||||
"url": url,
|
"url": self["appservice.address"],
|
||||||
"sender_localpart": self["appservice.bot_username"],
|
"sender_localpart": self["appservice.bot_username"],
|
||||||
"rate_limited": False
|
"rate_limited": False
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user