diff --git a/plugins/correction.py b/plugins/correction.py new file mode 100644 index 0000000..f21d20d --- /dev/null +++ b/plugins/correction.py @@ -0,0 +1,19 @@ +from util import hook +import re + +@hook.regex(r'^(s|S)/.*/.*/$') +def correction(inp, say=None, input=None, notice=None, db=None): + + last_message = db.execute("select name, quote from seen_user where name" + " like ? and chan = ?", (input.nick.lower(), input.chan.lower())).fetchone() + + if last_message: + splitinput = input.msg.split("/") + find = splitinput[1] + replace = splitinput[2] + if find in last_message[1]: + say("%s meant to say: %s" % (input.nick, last_message[1].replace(find, replace))) + else: + notice("%s can't be found in your last message" % find) + else: + notice("I haven't seen you say anything here yet") diff --git a/plugins/seen.py b/plugins/seen.py index 95762f4..aabacad 100755 --- a/plugins/seen.py +++ b/plugins/seen.py @@ -22,7 +22,7 @@ def seen_sieve(paraml, input=None, db=None, bot=None): if not db_ready: db_init(db) # keep private messages private - if input.chan[:1] == "#": + if input.chan[:1] == "#" and not re.findall('^s/.*/.*/$', input.msg.lower()): db.execute("insert or replace into seen_user(name, time, quote, chan, host)" "values(?,?,?,?,?)", (input.nick.lower(), time.time(), input.msg, input.chan, input.mask))