# -*- coding: utf-8 -*-
-
-# Copyright (C) 2020 kaliko <kaliko@azylum.org>
-
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, version 3 only.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
+# SPDX-FileCopyrightText: 2020 kaliko <kaliko@azylum.org>
+# SPDX-License-Identifier: GPL-3.0-or-later
from datetime import datetime
from os import fdopen
class Log(Plugin):
- """Logs presence.
+ """Logs group chat participant presence.
+
+ The account running the bot need at least room moderation right to log
+ participants JIDs (fallback to nickname).
"""
throttle_ts = int(time())-30
@botcmd(hidden=True)
def write(self, message, args):
- """
- **command** ``!write`` : Write log to file"""
+ """Dump/save room presences log
+
+ ``!write`` : Writes log to file (use mktemp and return file location as MUC message)"""
delay = int(time()) - Log.throttle_ts
if delay < 30:
self.log.debug('throttling file creation')
@botcmd(hidden=True)
def dump(self, message, args):
- """**command** ``!dump`` : dump log online!"""
+ """``!dump`` : Dumps log as MUC message"""
self.reply(message, self._format_log())