Add external url to bridge info

This commit is contained in:
Tulir Asokan
2020-06-15 15:02:08 +03:00
parent 8a99e67c6d
commit 60ecb03f64
+9 -1
View File
@@ -263,13 +263,14 @@ class PortalMetadata(BasePortal, ABC):
@property @property
def bridge_info(self) -> Dict[str, Any]: def bridge_info(self) -> Dict[str, Any]:
return { info = {
"bridgebot": self.az.bot_mxid, "bridgebot": self.az.bot_mxid,
"creator": self.main_intent.mxid, "creator": self.main_intent.mxid,
"protocol": { "protocol": {
"id": "telegram", "id": "telegram",
"displayname": "Telegram", "displayname": "Telegram",
"avatar_url": config["appservice.bot_avatar"], "avatar_url": config["appservice.bot_avatar"],
"external_url": "https://telegram.org",
}, },
"channel": { "channel": {
"id": str(self.tgid), "id": str(self.tgid),
@@ -277,6 +278,13 @@ class PortalMetadata(BasePortal, ABC):
"avatar_url": self.avatar_url, "avatar_url": self.avatar_url,
} }
} }
if self.username:
info["channel"]["external_url"] = f"https://t.me/{self.username}"
elif self.peer_type == "user":
puppet = p.Puppet.get(self.tgid)
if puppet and puppet.username:
info["channel"]["external_url"] = f"https://t.me/{puppet.username}"
return info
async def _update_bridge_info(self) -> None: async def _update_bridge_info(self) -> None:
try: try: