diff --git a/maubot.yaml b/maubot.yaml index c343de5..3f17638 100644 --- a/maubot.yaml +++ b/maubot.yaml @@ -1,6 +1,6 @@ maubot: 0.1.0 id: nl.roomsoverview -version: 2.1.0 +version: 2.1.2 license: MIT modules: - roomsoverview diff --git a/roomsoverview.mbp b/roomsoverview.mbp index 6fac14d..fd48316 100644 Binary files a/roomsoverview.mbp and b/roomsoverview.mbp differ diff --git a/roomsoverview.py b/roomsoverview.py index f937bbc..9e69e09 100644 --- a/roomsoverview.py +++ b/roomsoverview.py @@ -303,21 +303,25 @@ class RoomsOverviewPlugin(Plugin): lines = [] for r in rooms: - name = _escape_md( - r.get("display_name") or r.get("canonical_alias") or r["room_id"] - ) - alias = r.get("canonical_alias") + display = r.get("display_name") or "" + alias = r.get("canonical_alias") or "" room_id = r["room_id"] link_target = quote(alias if alias else room_id, safe="!") member_count = r.get("member_count") - topic = _escape_md((r.get("topic") or "").strip().replace("\n", " ")) + topic = (r.get("topic") or "").strip().replace("\n", " ") suffix = f" ({member_count} leden)" if member_count is not None else "" - addr = f"[{alias if alias else room_id}](https://matrix.to/#/{link_target})" - if topic: - block = f"**{name}**{suffix}\n{topic}\n{addr}" + if display: + label = _escape_md(display) else: - block = f"**{name}**{suffix}\n{addr}" - lines.append(block) + label = room_id + link = f"[{_escape_md(alias) if alias else room_id}](https://matrix.to/#/{link_target})" + if display: + line = f"* **{label}**{suffix} — {link}" + else: + line = f"* {link}{suffix}" + if topic: + line += f" — {_escape_md(topic)}" + lines.append(line) chunk_size = max(1, int(self.config.get("rooms_per_message", 50) or 50)) chunks = [lines[i : i + chunk_size] for i in range(0, len(lines), chunk_size)]