diff options
Diffstat (limited to 'ircbot')
| -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 |
