aboutsummaryrefslogtreecommitdiff
path: root/src/IRCChannel.py
diff options
context:
space:
mode:
authorGravatar jesopo2020-02-25 11:29:02 +0000
committerGravatar jesopo2020-02-25 11:29:02 +0000
commita3ffc70bbccf54f555a89cee64d2527a07ca95fd (patch)
tree80545cf55edb13bc9f5dda6b0014c4cc94caf902 /src/IRCChannel.py
parentunmode timer should use send_modes (diff)
signature
send KICK in max chunk of 4, MODE in max chunk of 6
Diffstat (limited to 'src/IRCChannel.py')
-rw-r--r--src/IRCChannel.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/IRCChannel.py b/src/IRCChannel.py
index 5848646a..e64077a1 100644
--- a/src/IRCChannel.py
+++ b/src/IRCChannel.py
@@ -221,7 +221,8 @@ class Channel(IRCObject.Object):
def send_mode(self, mode: str=None, target: typing.List[str]=None):
return self.server.send_mode(self.name, mode, target)
def send_modes(self, mode: str, add: bool, args: typing.List[str]):
- chunk_n = int(self.server.isupport.get("MODES", "3") or "6")
+ chunk_n = min(6,
+ int(self.server.isupport.get("MODES", "3") or "6"))
for chunk in self._chunks(chunk_n, args):
mode_str = "%s%s" % ("+" if add else "-", mode*len(chunk))
self.server.send_mode(self.name, mode_str, chunk)
@@ -229,7 +230,7 @@ class Channel(IRCObject.Object):
def send_kick(self, target: str, reason: str=None):
return self.server.send_kick(self.name, target, reason)
def send_kicks(self, targets: typing.List[str], reason: str=None):
- chunk_n = self.server.targmax.get("KICK", 1)
+ chunk_n = min(4, self.server.targmax.get("KICK", 1))
for chunk in self._chunks(chunk_n, targets):
chan_str = ",".join([self.name]*len(chunk))
self.server.send_kick(chan_str, ",".join(chunk), reason)