# -*- coding: utf-8 -*- ### # Copyright (c) 2009-2013 by Elián Hanisch # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . ### ### # Helper script for IRC Channel Operators # # Inspired by auto_bleh.pl (irssi) and chanserv.py (xchat) scripts. # # Networks like Freenode and some channels encourage operators to not stay # permanently with +o privileges and only use it when needed. This script # works along those lines, requesting op, kick/ban/etc and deop # automatically with a single command. # Still this script is very configurable and its behaviour can be configured # in a per server or per channel basis so it can fit most needs without # changing its code. # # Features several completions for ban/quiet masks and a memory for channel # masks and users (so users that parted are still bannable by nick). # # # Commands (see detailed help with /help in WeeChat): # * /oop: Request or give op. # * /odeop: Drop or remove op. # * /okick: Kick user (or users). # * /oban: Apply ban mask. # * /ounban: Remove ban mask. # * /oquiet: Apply quiet mask. # * /ounquiet: Remove quiet mask. # * /obankick: Ban and kick user (or users) # * /otopic: Change channel topic # * /omode: Change channel modes # * /olist: List cached masks (bans or quiets) # * /ovoice: Give voice to user # * /odevoice: Remove voice from user # # # Settings: # Most configs (unless noted otherwise) can be defined for a server or a # channel in particular, so it is possible to request op in different # networks, stay always op'ed in one channel while # auto-deop in another. # # For define an option for a specific server use: # /set plugins.var.python.chanop.