From 7f98bf912c92794c96d834a9c1f24941dc8f5688 Mon Sep 17 00:00:00 2001 From: Luke Rogers Date: Sun, 13 May 2012 17:40:17 +1200 Subject: [PATCH] Dynamic factoids (and normal ones) can now take input with inp --- plugins/factoids.py | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/plugins/factoids.py b/plugins/factoids.py index 1774918..5db8d2a 100755 --- a/plugins/factoids.py +++ b/plugins/factoids.py @@ -128,9 +128,18 @@ def factoid(inp, say=None, db=None, bot=None, me=None, conn=None, input=None): prefix_on = False db_init(db) + + # split up the input + split = inp.group(1).strip().split(" ") + factoid_id = split[0] + + if len(split) >= 1: + arguments = " ".join(split[1:]) + else: + arguments = None # attempt to get the factoid from the database - data = get_memory(db, inp.group(1).strip()) + data = get_memory(db, factoid_id) if data: @@ -139,6 +148,12 @@ def factoid(inp, say=None, db=None, bot=None, me=None, conn=None, input=None): data = data.replace("$chan", input.chan) data = data.replace("$botnick", conn.nick) + # if factoid had arguments, replace $inp with that + if arguments: + data = data.replace("$inp", arguments) + else + data = data.replace("$inp", "null") + # if , execute python code if data.startswith(""): data = data[4:].strip() @@ -162,6 +177,6 @@ def factoid(inp, say=None, db=None, bot=None, me=None, conn=None, input=None): me(result) else: if prefix_on: - say("\x02[%s]:\x02 %s" % (inp.group(1).strip(), result)) + say("\x02[%s]:\x02 %s" % (factoid_id, result)) else: say(result)