Pārlūkot izejas kodu

Add command to let admins log out users (#359)

Malte E 2 gadi atpakaļ
vecāks
revīzija
91a90d1215
1 mainītis faili ar 19 papildinājumiem un 0 dzēšanām
  1. 19 0
      mautrix_signal/commands/auth.py

+ 19 - 0
mautrix_signal/commands/auth.py

@@ -245,6 +245,25 @@ async def logout(evt: CommandEvent) -> None:
     await evt.reply("Successfully logged out")
 
 
+@command_handler(
+    needs_auth=False,
+    management_only=True,
+    needs_admin=True,
+    help_section=SECTION_AUTH,
+    help_text="Remove all local data about a user's Signal link",
+    help_args="<mxid>",
+)
+async def logout_user(evt: CommandEvent) -> None:
+    if len(evt.args) == 0:
+        await evt.reply("**Usage**: $cmdprefix+sp logout-user <mxid>")
+    user = await evt.bridge.get_user(UserID(evt.args[0]))
+    if not await user.is_logged_in():
+        await evt.reply("This user is not logged in")
+        return
+    await user.logout()
+    await evt.reply("Successfully logged out")
+
+
 @command_handler(
     needs_auth=True,
     management_only=True,