From 1272ffbd28503c4dfffa9bcc76f09801e4f0cf80 Mon Sep 17 00:00:00 2001 From: Juhani Haverinen Date: Sun, 29 Mar 2015 19:00:48 +0300 Subject: [PATCH] Make chmode stuff several mode changes per line --- botcmd.py | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/botcmd.py b/botcmd.py index 197766d..8251c80 100644 --- a/botcmd.py +++ b/botcmd.py @@ -182,13 +182,21 @@ loadtrusted() loadgods() def chmode(irc, chan, nick, mode, args): - if args == ['']: - if isauthorized(irc, chan, nick): - irc.send('MODE %s %s %s' % (chan, mode, nick)) - else: - if isauthorized(irc, chan, nick): - for name in args: - irc.send('MODE %s %s %s' % (chan, mode, name)) + set_unset = mode[0] + mode = mode[1:] + + if isauthorized(irc, chan, nick): + if args == ['']: + irc.send('MODE %s %s %s' % (chan, set_unset+mode, nick)) + else: + nicks = [] + for nick in args: + nicks.append(nick) + if len(nicks) == 4: + irc.send('MODE %s %s %s' % (chan, set_unset+mode*4, ' '.join(nicks))) + nicks = [] + if nicks: + irc.send('MODE %s %s %s' % (chan, set_unset+mode*len(nicks), ' '.join(nicks))) def istrusted(chan, account): trustedlock.acquire()