X-Git-Url: https://jfr.im/git/erebus.git/blobdiff_plain/96afd8edfc2da69566859a4a8804d0d71472d1d3..40ee6c8e76c06f278c34cf336d5a47b4253953f4:/modules/eval.py diff --git a/modules/eval.py b/modules/eval.py index 00f37eb..77f6a1a 100644 --- a/modules/eval.py +++ b/modules/eval.py @@ -53,3 +53,19 @@ def cmd_exec(bot, user, chan, realtarget, *args): @lib.help(None, "cause an exception") def cmd_exception(*args, **kwargs): raise Exception() + +@lib.hook(needchan=False, wantchan=True, glevel=lib.ADMIN) +@lib.help(" ", "inject a line as though it came from ", "note that this injects lines, not commands", "ex: INJECT DimeCadmium !WHOAMI") +def inject(bot, user, chan, realtarget, *args): + targetuser = bot.parent.user(args[0], create=False) + if targetuser is None: + bot.msg(user, "User is unknown.") + return + if targetuser.glevel > user.glevel: + bot.msg(user, "That user has a higher access level than you.") + return + + if chan is not None: + bot.parsemsg(bot.parent.user(args[0], create=False), str(chan), ' '.join(args[1:])) + else: + bot.parsemsg(bot.parent.user(args[0], create=False), str(bot), ' '.join(args[1:]))