aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/words.py11
-rw-r--r--src/utils/__init__.py3
2 files changed, 12 insertions, 2 deletions
diff --git a/modules/words.py b/modules/words.py
index 1e07971c..520f05fc 100644
--- a/modules/words.py
+++ b/modules/words.py
@@ -75,8 +75,15 @@ class Module(ModuleManager.BaseModule):
total = 0
for channel in words:
total += words[channel]
- event["stdout"].write("%s has used %d words (%d in %s)" % (
- target.nickname, total, this_channel, event["target"].name))
+
+ since = ""
+ first_words = target.get_setting("first-words", None)
+ if not first_words == None:
+ since = " since %s" % utils.date_human(
+ utils.datetime_timestamp(first_words))
+
+ event["stdout"].write("%s has used %d words (%d in %s)%s" % (
+ target.nickname, total, this_channel, event["target"].name, since))
@utils.hook("received.command.trackword", min_args=1)
def track_word(self, event):
diff --git a/src/utils/__init__.py b/src/utils/__init__.py
index 477d8e59..33ad449b 100644
--- a/src/utils/__init__.py
+++ b/src/utils/__init__.py
@@ -18,6 +18,9 @@ DATE_HUMAN = "%Y-%m-%d"
def datetime_utcnow() -> datetime.datetime:
return datetime.datetime.utcnow().replace(tzinfo=datetime.timezone.utc)
+def datetime_timestamp(seconds: float) -> datetime.datetime:
+ return datetime.datetime.fromtimestamp(seconds).replace(
+ tzinfo=datetime.timezone.utc)
def iso8601_format(dt: datetime.datetime, milliseconds: bool=False) -> str:
dt_format = dt.strftime(ISO8601_FORMAT_DT)