Extend !rooms help: dedicated help subcommand with full NL guide, richer help strings on all subcommands; v2.3.1
This commit is contained in:
parent
812f30d333
commit
c73b5e53c7
3 changed files with 49 additions and 6 deletions
|
|
@ -1,6 +1,6 @@
|
|||
maubot: 0.1.0
|
||||
id: nl.roomsoverview
|
||||
version: 2.3.0
|
||||
version: 2.3.1
|
||||
license: MIT
|
||||
modules:
|
||||
- roomsoverview
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -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 <room-id of #alias>` — voeg een room toe aan de index\n"
|
||||
"* `!rooms edit <room-id of #alias> <veld>=<waarde>` — wijzig een "
|
||||
"veld van een room\n"
|
||||
"* `!rooms remove <room-id of #alias>` — 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 <room-id of #alias> (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 <room-id of #alias> "
|
||||
"<name|topic|alias>=<waarde> (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 <room-id of #alias> (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.")
|
||||
|
|
|
|||
Loading…
Reference in a new issue