diff options
| author | Mistivia <i@mistivia.com> | 2025-11-04 23:19:52 +0800 |
|---|---|---|
| committer | Mistivia <i@mistivia.com> | 2025-11-04 23:19:52 +0800 |
| commit | 8dbcdce76cbd4cd3b2ad2dcfce5bf828d91aa07c (patch) | |
| tree | cb0f93e5df84353fc1f1257f71b3792d42edb2d2 /ircbot/main.py | |
| parent | 6c66b7c72013f8e335d93b28e743101883f30bb9 (diff) | |
better log
Diffstat (limited to 'ircbot/main.py')
| -rw-r--r-- | ircbot/main.py | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/ircbot/main.py b/ircbot/main.py index 3d5b4e8..a106dc1 100644 --- a/ircbot/main.py +++ b/ircbot/main.py @@ -96,7 +96,18 @@ def meet_cmd(chan, sender, args): def log_command(chan, sender, args): return f"https://raye.mistivia.com/irclog/view/?chan={chan[1:]}" -LAST_SEEN = dict() +def load_lastseen(): + try: + with open("lastseen", "r") as fp: + return json.load(fp) + except: + return dict() + +LAST_SEEN = load_lastseen() + +def save_lastseen(): + with open("lastseen", "w") as fp: + json.dump(LAST_SEEN, fp) def get_greeting(chan, sender, args): if sender == NICKNAME: @@ -109,10 +120,12 @@ def get_greeting(chan, sender, args): and sender in LAST_SEEN[chan] \ and time.time() - LAST_SEEN[chan][sender] < 300: LAST_SEEN[chan][sender] = time.time() + save_lastseen() return '' if chan not in LAST_SEEN: LAST_SEEN[chan] = dict() LAST_SEEN[chan][sender] = time.time() + save_lastseen() return "Dōmo, " + sender + ' san.' @command("join") @@ -463,6 +476,7 @@ class IRCBot: for chan in LAST_SEEN: if sender_nick in LAST_SEEN[chan]: LAST_SEEN[chan][sender_nick] = time.time() + save_lastseen() elif command == 'PART': args = params if len(params) >= 1: @@ -471,6 +485,7 @@ class IRCBot: chan = trailing if chan in LAST_SEEN: LAST_SEEN[chan][sender_nick] = time.time() + save_lastseen() elif command == "PRIVMSG": if sender_nick == NICKNAME: return |
