diff --git a/maubot.yaml b/maubot.yaml index c38062b..b114188 100644 --- a/maubot.yaml +++ b/maubot.yaml @@ -1,6 +1,6 @@ maubot: 0.1.0 id: nl.roomsoverview -version: 2.3.0 +version: 2.3.1 license: MIT modules: - roomsoverview diff --git a/roomsoverview.mbp b/roomsoverview.mbp index bdbe11f..35e6db8 100644 Binary files a/roomsoverview.mbp and b/roomsoverview.mbp differ diff --git a/roomsoverview.py b/roomsoverview.py index 3f9ed25..7f1d0bb 100644 --- a/roomsoverview.py +++ b/roomsoverview.py @@ -530,16 +530,52 @@ class RoomsOverviewPlugin(Plugin): ) await evt.respond(content) + async def _send_help(self, evt: MessageEvent) -> None: + """Uitgebreide Nederlandstalige handleiding voor !rooms.""" + help_text = ( + "**!rooms** — overzicht van de room-index\n\n" + "Toont alle rooms als kaarten met naam, ledental, omschrijving " + "en een directe join-link. Ruimtes met een eigen icoon tonen die " + "naast de naam.\n\n" + "**Basis:**\n" + "* `!rooms` — toon de volledige lijst (bij veel rooms verdeeld " + "over meerdere berichten)\n\n" + "**Subcommando's (moderator of hoger vereist):**\n" + "* `!rooms add ` — voeg een room toe aan de index\n" + "* `!rooms edit =` — wijzig een " + "veld van een room\n" + "* `!rooms remove ` — verwijder een room uit de index\n" + "* `!rooms refresh` — controleer of rooms nog bestaan en vul " + "ontbrekende avatars aan\n\n" + "**Veld bij edit:** `name` (naam), `topic` (omschrijving) of " + "`alias` (adres). Een lege waarde wist het veld.\n\n" + "**Voorbeelden:**\n" + "* `!rooms add #algemeen:mtux.nl`\n" + "* `!rooms edit #algemeen:mtux.nl name=Algemeen Overleg`\n" + "* `!rooms edit #algemeen:mtux.nl topic=` (wist de omschrijving)\n" + "* `!rooms remove #algemeen:mtux.nl`\n\n" + "Alleen moderators (macht ≥ 50) mogen rooms toevoegen, wijzigen " + "of verwijderen. Iedereen kan de lijst bekijken." + ) + await evt.respond(help_text, markdown=True) + @command.new( name="rooms", - help="Toon de room-index; subcommand: add, edit, remove, refresh", + help="Toon de room-index als kaarten; subcommands: add, edit, remove, refresh, help", require_subcommand=False, ) async def handle_rooms(self, evt: MessageEvent) -> None: await evt.mark_read() await self._send_list(evt) - @handle_rooms.subcommand(name="add", help="Voeg een room toe (moderator+)") + @handle_rooms.subcommand(name="help", help="Toon deze handleiding") + async def rooms_help(self, evt: MessageEvent) -> None: + await self._send_help(evt) + + @handle_rooms.subcommand( + name="add", + help="Voeg een room toe aan de index: !rooms add (moderator+)", + ) @command.argument("room", pass_raw=True, required=True) async def add_room(self, evt: MessageEvent, room: str) -> None: if not await self._is_mod(evt.room_id, evt.sender): @@ -585,7 +621,8 @@ class RoomsOverviewPlugin(Plugin): @handle_rooms.subcommand( name="edit", - help="Wijzig naam/topic/alias van een room (moderator+)", + help="Wijzig een veld van een room: !rooms edit " + "= (moderator+)", ) @command.argument("args", pass_raw=True, required=True) async def edit_room(self, evt: MessageEvent, args: str) -> None: @@ -635,7 +672,10 @@ class RoomsOverviewPlugin(Plugin): f"Room bijgewerkt: **{label}** — {field_name} is nu `{shown}`." ) - @handle_rooms.subcommand(name="remove", help="Verwijder een room (moderator+)") + @handle_rooms.subcommand( + name="remove", + help="Verwijder een room uit de index: !rooms remove (moderator+)", + ) @command.argument("room", pass_raw=True, required=True) async def remove_room(self, evt: MessageEvent, room: str) -> None: if not await self._is_mod(evt.room_id, evt.sender): @@ -653,7 +693,10 @@ class RoomsOverviewPlugin(Plugin): else: await evt.reply(f"Room `{room_id}` stond niet in de index.") - @handle_rooms.subcommand(name="refresh", help="Valideer de index en vul avatars aan (moderator+)") + @handle_rooms.subcommand( + name="refresh", + help="Controleer of rooms bestaan en vul ontbrekende avatars aan (moderator+)", + ) async def refresh_index(self, evt: MessageEvent) -> None: if not await self._is_mod(evt.room_id, evt.sender): await evt.reply("Geen permissie: moderator of hoger vereist.")