mirror of
https://github.com/Mikaela/Limnoria.git
synced 2025-02-02 07:34:08 +01:00
Made the bot refuse to kban himself; made him not use a banmask that would ban himself.
This commit is contained in:
parent
563e5ad2bf
commit
93b16b79c2
@ -112,6 +112,9 @@ class Channel(callbacks.Privmsg):
|
|||||||
"""
|
"""
|
||||||
channel = privmsgs.getChannel(msg, args)
|
channel = privmsgs.getChannel(msg, args)
|
||||||
(bannedNick, length) = privmsgs.getArgs(args, optional=1)
|
(bannedNick, length) = privmsgs.getArgs(args, optional=1)
|
||||||
|
if bannedNick == irc.nick:
|
||||||
|
irc.error(msg, 'I cowardly refuse to kickban myself.')
|
||||||
|
return
|
||||||
length = int(length or 0)
|
length = int(length or 0)
|
||||||
try:
|
try:
|
||||||
bannedHostmask = irc.state.nickToHostmask(bannedNick)
|
bannedHostmask = irc.state.nickToHostmask(bannedNick)
|
||||||
@ -120,6 +123,8 @@ class Channel(callbacks.Privmsg):
|
|||||||
return
|
return
|
||||||
capability = ircdb.makeChannelCapability(channel, 'op')
|
capability = ircdb.makeChannelCapability(channel, 'op')
|
||||||
banmask = ircutils.banmask(bannedHostmask)
|
banmask = ircutils.banmask(bannedHostmask)
|
||||||
|
if ircutils.hostmaskPatternEqual(banmask, irc.prefix):
|
||||||
|
banmask = bannedHostmask
|
||||||
if bannedNick == msg.nick or \
|
if bannedNick == msg.nick or \
|
||||||
(ircdb.checkCapability(msg.prefix, capability) \
|
(ircdb.checkCapability(msg.prefix, capability) \
|
||||||
and not ircdb.checkCapability(bannedHostmask, capability)):
|
and not ircdb.checkCapability(bannedHostmask, capability)):
|
||||||
|
@ -69,6 +69,7 @@ class ChannelTestCase(ChannelPluginTestCase, PluginDocumentation):
|
|||||||
m = self.getMsg(' ')
|
m = self.getMsg(' ')
|
||||||
self.assertEqual(m, ircmsgs.kick(self.channel, 'foobar', self.nick))
|
self.assertEqual(m, ircmsgs.kick(self.channel, 'foobar', self.nick))
|
||||||
self.assertNotRegexp('kban adlkfajsdlfkjsd', 'KeyError')
|
self.assertNotRegexp('kban adlkfajsdlfkjsd', 'KeyError')
|
||||||
|
self.assertError('kban %s' % self.nick)
|
||||||
|
|
||||||
def testLobotomizers(self):
|
def testLobotomizers(self):
|
||||||
self.assertNotError('lobotomize')
|
self.assertNotError('lobotomize')
|
||||||
|
Loading…
Reference in New Issue
Block a user