mirror of
https://github.com/Mikaela/Limnoria.git
synced 2024-11-23 19:19:32 +01:00
Made to work again.
This commit is contained in:
parent
fa878a9289
commit
339375bc42
@ -30,7 +30,7 @@
|
|||||||
###
|
###
|
||||||
|
|
||||||
"""
|
"""
|
||||||
ChannelEnforcer: Enforces capabilities on a channel, watching MODEs, KICKs,
|
Enforcer: Enforces capabilities on a channel, watching MODEs, KICKs,
|
||||||
JOINs, etc. to make sure they match the channel's config.
|
JOINs, etc. to make sure they match the channel's config.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@ -44,20 +44,30 @@ import ircutils
|
|||||||
import callbacks
|
import callbacks
|
||||||
|
|
||||||
###
|
###
|
||||||
# ChannelEnforcer: Enforces capabilities on JOIN, MODE, KICK, etc.
|
# Enforcer: Enforces capabilities on JOIN, MODE, KICK, etc.
|
||||||
###
|
###
|
||||||
_chanCap = ircdb.makeChannelCapability
|
_chanCap = ircdb.makeChannelCapability
|
||||||
class ChannelEnforcer(callbacks.Privmsg):
|
class Enforcer(callbacks.Privmsg):
|
||||||
|
started = False
|
||||||
def startenforcer(self, irc, msg, args):
|
def startenforcer(self, irc, msg, args):
|
||||||
"""[<CHANSERV> <revenge> <topicPrefix>]"""
|
"""[<CHANSERV> <revenge> <topicPrefix>]"""
|
||||||
self.topics = {}
|
self.topics = {}
|
||||||
(chanserv, revenge) = privmsgs.getArgs(args, needed=0, optional=2)
|
(chanserv, revenge) = privmsgs.getArgs(args, needed=0, optional=2)
|
||||||
self.chanserv = chanserv or 'ChanServ'
|
self.chanserv = chanserv or 'ChanServ'
|
||||||
self.started = True
|
self.started = True
|
||||||
self.reply(irc, msg, conf.replySuccess)
|
if revenge == 'True' or revenge == '':
|
||||||
|
self.revenge = True
|
||||||
|
elif revenge == 'False':
|
||||||
|
self.revenge = False
|
||||||
|
else:
|
||||||
|
irc.error(msg,'Possible values for revenge are "True" and "False"')
|
||||||
|
return
|
||||||
|
irc.reply(msg, conf.replySuccess)
|
||||||
startenforcer = privmsgs.checkCapability(startenforcer, 'admin')
|
startenforcer = privmsgs.checkCapability(startenforcer, 'admin')
|
||||||
|
|
||||||
def doJoin(self, irc, msg):
|
def doJoin(self, irc, msg):
|
||||||
|
if not self.started:
|
||||||
|
return
|
||||||
channel = msg.args[0]
|
channel = msg.args[0]
|
||||||
c = ircdb.channels.getChannel(channel)
|
c = ircdb.channels.getChannel(channel)
|
||||||
if c.checkBan(msg.prefix):
|
if c.checkBan(msg.prefix):
|
||||||
@ -71,6 +81,8 @@ class ChannelEnforcer(callbacks.Privmsg):
|
|||||||
irc.queueMsg(ircmsgs.voice(channel, msg.nick))
|
irc.queueMsg(ircmsgs.voice(channel, msg.nick))
|
||||||
|
|
||||||
def doTopic(self, irc, msg):
|
def doTopic(self, irc, msg):
|
||||||
|
if not self.started:
|
||||||
|
return
|
||||||
channel = msg.args[0]
|
channel = msg.args[0]
|
||||||
topic = msg.args[1]
|
topic = msg.args[1]
|
||||||
if msg.nick != irc.nick and \
|
if msg.nick != irc.nick and \
|
||||||
@ -104,6 +116,8 @@ class ChannelEnforcer(callbacks.Privmsg):
|
|||||||
irc.queueMsg(ircmsgs.kick(channel,ircutils.nickFromHostmask(hostmask)))
|
irc.queueMsg(ircmsgs.kick(channel,ircutils.nickFromHostmask(hostmask)))
|
||||||
|
|
||||||
def doKick(self, irc, msg):
|
def doKick(self, irc, msg):
|
||||||
|
if not self.started:
|
||||||
|
return
|
||||||
channel = msg.args[0]
|
channel = msg.args[0]
|
||||||
kicked = msg.args[1].split(',')
|
kicked = msg.args[1].split(',')
|
||||||
deop = False
|
deop = False
|
||||||
@ -122,6 +136,8 @@ class ChannelEnforcer(callbacks.Privmsg):
|
|||||||
irc.queueMsg(ircmsgs.deop(channel, msg.nick))
|
irc.queueMsg(ircmsgs.deop(channel, msg.nick))
|
||||||
|
|
||||||
def doMode(self, irc, msg):
|
def doMode(self, irc, msg):
|
||||||
|
if not self.started:
|
||||||
|
return
|
||||||
channel = msg.args[0]
|
channel = msg.args[0]
|
||||||
if not ircutils.isChannel(channel):
|
if not ircutils.isChannel(channel):
|
||||||
return
|
return
|
||||||
@ -180,11 +196,11 @@ class ChannelEnforcer(callbacks.Privmsg):
|
|||||||
irc.queueMsg(ircmsgs.deop(channel, msg.nick))
|
irc.queueMsg(ircmsgs.deop(channel, msg.nick))
|
||||||
|
|
||||||
def __call__(self, irc, msg):
|
def __call__(self, irc, msg):
|
||||||
if msg.prefix == self.chanserv:
|
if self.started and msg.prefix == self.chanserv:
|
||||||
return
|
return
|
||||||
else:
|
else:
|
||||||
return callbacks.Privmsg.__call__(self, irc, msg)
|
return callbacks.Privmsg.__call__(self, irc, msg)
|
||||||
|
|
||||||
|
|
||||||
Class = ChannelEnforcer
|
Class = Enforcer
|
||||||
# vim:set shiftwidth=4 tabstop=8 expandtab textwidth=78:
|
# vim:set shiftwidth=4 tabstop=8 expandtab textwidth=78:
|
||||||
|
Loading…
Reference in New Issue
Block a user