#!/usr/bin/env python3 """ ban he ban he ban he """ import time from module import commands, example, require_admin import modules.adminchannel @commands('banhe') @example('.banhe assfaggot 30m') def banhe(bot, trigger): """ Bans he for a set period of time. Admins may set the period of time, non-admins only get 20 second bans. """ print(trigger.group()) banhee, period = trigger.group(3), trigger.group(4) if not trigger.admin: period = 20 else: conv = {'s':1, 'm':60, 'h':3600, 'd':86400} try: period = conv[period[-1]] * int(period[:-1]) except (KeyError, ValueError, TypeError): period = 0 bot.ban(banhee, trigger.sender) if period > 2592000: bot.reply("It's too big, Onii-chan.") if not period or period > 2592000: return bot.say(f"Banned \x0304{banhee}\x03 for \x0309∞\x03 seconds.") bot.say(f"Banned \x0304{banhee}\x03 for \x0309{str(period)}\x03 seconds.") time.sleep(period) bot.unban(banhee, trigger.sender) bot.say(f"Unbanned \x0304{banhee}\x03") @require_admin @commands("banheall") def banheallCommand(bot, trigger): """ Ban them all, Johnny. """ period = trigger.group(2) banheall(bot, period, trigger.sender) def banheall(bot, period, channel): """ The real banhe. """ conv = {'s':1, 'm':60, 'h':3600, 'd':86400} try: period = conv[period[-1]] * int(period[:-1]) except (KeyError, ValueError, TypeError): period = 0 for nick in bot.privileges[channel].keys(): bot.ban(nick, channel) if period > 2592000: bot.reply("It's too big, Onii-chan.") if not period or period > 2592000: return bot.say("Banned \x0304them all\x03 for \x0309∞\x03 seconds.") bot.say(f"Banned \x0304them all\x03 for \x0309{str(period)}\x03 seconds.") time.sleep(period) for nick in bot.privileges[channel].keys(): bot.unban(nick, channel) bot.say("Unbanned \x0304them all\x03")