Better handle channel key
This commit is contained in:
parent
898a7107ca
commit
b6738f2216
@ -55,7 +55,8 @@ def add(name, cli, key=""):
|
|||||||
cls = FakeChannel
|
cls = FakeChannel
|
||||||
|
|
||||||
chan = _channels[lower(name)] = cls(name, cli)
|
chan = _channels[lower(name)] = cls(name, cli)
|
||||||
chan.join(key)
|
chan._key = key
|
||||||
|
chan.join()
|
||||||
return chan
|
return chan
|
||||||
|
|
||||||
def exists(name):
|
def exists(name):
|
||||||
@ -107,8 +108,10 @@ class Channel(IRCContext):
|
|||||||
else:
|
else:
|
||||||
self._pending.append((name, params, args))
|
self._pending.append((name, params, args))
|
||||||
|
|
||||||
def join(self, key=""):
|
def join(self, key=None):
|
||||||
if self.state in (_States.NotJoined, _States.Left):
|
if self.state in (_States.NotJoined, _States.Left):
|
||||||
|
if key is None:
|
||||||
|
key = self.key
|
||||||
self.state = _States.PendingJoin
|
self.state = _States.PendingJoin
|
||||||
self.client.send("JOIN {0} :{1}".format(self.name, key))
|
self.client.send("JOIN {0} :{1}".format(self.name, key))
|
||||||
|
|
||||||
@ -245,6 +248,9 @@ class Channel(IRCContext):
|
|||||||
i += 1 # -k needs a target, but we don't care about it
|
i += 1 # -k needs a target, but we don't care about it
|
||||||
del self.modes[c]
|
del self.modes[c]
|
||||||
|
|
||||||
|
if "k" in mode:
|
||||||
|
self._key = self.modes.get("k", "")
|
||||||
|
|
||||||
def remove_user(self, user):
|
def remove_user(self, user):
|
||||||
self.users.remove(user)
|
self.users.remove(user)
|
||||||
for mode in Features["PREFIX"].values():
|
for mode in Features["PREFIX"].values():
|
||||||
|
Loading…
x
Reference in New Issue
Block a user