diff --git a/plugins/admin.py b/plugins/admin.py index fd773c3..a56382d 100644 --- a/plugins/admin.py +++ b/plugins/admin.py @@ -1,8 +1,11 @@ # Shitty plugin made by iloveportalz0r # Broken by The Noodle # Improved by Lukeroge +# Mute added by neersighted from util import hook import sys +import usertracking +import time # Added to make the move to a new auth system a lot easier def isadmin(input): @@ -158,3 +161,39 @@ def topic(inp, input=None, notice=None): else: out = "TOPIC %s :%s" % (input.chan, message) input.conn.send(out) + +@hook.sieve +def mutesieve(bot, input, func, kind, args): + if kind == "event": + return input + if "chan" in input.keys() and input.chan in input.conn.users.channels and hasattr(input.conn.users[input.chan], "mute"): + if input.command == "PRIVMSG" and input.lastparam[1:] == "unmute": + return input + else: + return None + return input + +@hook.command +def mute(inp, input=None, db=None, bot=None, users=None): + if inp and inp in input.conn.users.channels.keys(): + input.chan = inp + ".mute -- Mutes the bot" + if usertracking.query(db, bot.config, input.nick, input.chan, "mute") or "o" in users[input.chan].usermodes[input.nick]: + users[input.chan].mute = "%s %d" % (input.nick, time.time()) + input.notice("Muted") + else: + input.notice("Only bot admins can use this command!") + +@hook.command +def unmute(inp, input=None, db=None, bot=None, users=None): + if inp and inp in users.channels.keys(): + input.chan = inp + ".unmute -- Unmutes the bot" + if usertracking.query(db, bot.config, input.nick, input.chan, "mute") or "o" in users[input.chan].usermodes[input.nick]: + if hasattr(users[input.chan], "mute"): + input.notice("Unmuted") + del users[input.chan].mute + else: + input.notice("Not Muted") + else: + input.notice("Only bot admins can use this command!") diff --git a/plugins/mute.py b/plugins/mute.py deleted file mode 100644 index 2a4e698..0000000 --- a/plugins/mute.py +++ /dev/null @@ -1,41 +0,0 @@ -from util import hook -import usertracking -import time - - -@hook.sieve -def mutesieve(bot, input, func, kind, args): - if kind == "event": - return input - if "chan" in input.keys() and input.chan in input.conn.users.channels and hasattr(input.conn.users[input.chan], "mute"): - if input.command == "PRIVMSG" and input.lastparam[1:] == "unmute": - return input - else: - return None - return input - - -@hook.command -def mute(inp, input=None, db=None, bot=None, users=None): - if inp and inp in input.conn.users.channels.keys(): - input.chan = inp - ".mute -- Mutes the bot" - if usertracking.query(db, bot.config, input.nick, input.chan, "mute") or "o" in users[input.chan].usermodes[input.nick]: - users[input.chan].mute = "%s %d" % (input.nick, time.time()) - input.notice("Muted") - else: - input.notice("Only bot admins can use this command!") - -@hook.command -def unmute(inp, input=None, db=None, bot=None, users=None): - if inp and inp in users.channels.keys(): - input.chan = inp - ".unmute -- Unmutes the bot" - if usertracking.query(db, bot.config, input.nick, input.chan, "mute") or "o" in users[input.chan].usermodes[input.nick]: - if hasattr(users[input.chan], "mute"): - input.notice("Unmuted") - del users[input.chan].mute - else: - input.notice("Not Muted") - else: - input.notice("Only bot admins can use this command!") \ No newline at end of file