Fix bad parsing of JOIN command
This commit is contained in:
parent
05cf740151
commit
f4d3c6a500
3 changed files with 23 additions and 20 deletions
24
channel.py
24
channel.py
|
|
@ -8,23 +8,23 @@ class Channel:
|
||||||
self.people = dict()
|
self.people = dict()
|
||||||
self.topic = ""
|
self.topic = ""
|
||||||
|
|
||||||
def join(self, msg):
|
def join(self, nick, level = 0):
|
||||||
#print ("%s arrive sur %s" % (self.sender, self.channel))
|
#print ("%s arrive sur %s" % (nick, self.name))
|
||||||
self.people[msg.sender] = 0
|
self.people[nick] = level
|
||||||
|
|
||||||
def nick(self, msg):
|
def nick(self, oldnick, newnick):
|
||||||
#print ("%s change de nom pour %s" % (self.sender, self.content))
|
print ("%s change de nom pour %s" % (oldnick, newnick))
|
||||||
if msg.sender in self.people:
|
if oldnick in self.people:
|
||||||
lvl = self.people[msg.sender]
|
lvl = self.people[oldnick]
|
||||||
del self.people[msg.sender]
|
del self.people[oldnick]
|
||||||
else:
|
else:
|
||||||
lvl = 0
|
lvl = 0
|
||||||
self.people[msg.content] = lvl
|
self.people[newnick] = lvl
|
||||||
|
|
||||||
def part(self, msg):
|
def part(self, nick):
|
||||||
#print ("%s vient de quitter %s" % (self.sender, self.channel))
|
#print ("%s vient de quitter %s" % (self.sender, self.channel))
|
||||||
if msg.sender in self.people:
|
if nick in self.people:
|
||||||
del self.people[msg.sender]
|
del self.people[nick]
|
||||||
|
|
||||||
def mode(self, msg):
|
def mode(self, msg):
|
||||||
if msg.content[0] == "-k":
|
if msg.content[0] == "-k":
|
||||||
|
|
|
||||||
17
message.py
17
message.py
|
|
@ -66,6 +66,8 @@ class Message:
|
||||||
break
|
break
|
||||||
elif self.cmd == 'MODE':
|
elif self.cmd == 'MODE':
|
||||||
self.content = words[3:]
|
self.content = words[3:]
|
||||||
|
elif self.cmd == 'JOIN' and self.channel[0] == ":":
|
||||||
|
self.channel = self.channel[1:]
|
||||||
elif self.cmd == '332':
|
elif self.cmd == '332':
|
||||||
self.channel = words[3]
|
self.channel = words[3]
|
||||||
self.content = ' '.join(words[4:])[1:]
|
self.content = ' '.join(words[4:])[1:]
|
||||||
|
|
@ -130,15 +132,16 @@ class Message:
|
||||||
self.srv.channels[self.channel].parse332(self)
|
self.srv.channels[self.channel].parse332(self)
|
||||||
elif self.cmd == "MODE":
|
elif self.cmd == "MODE":
|
||||||
self.srv.channels[self.channel].mode(self)
|
self.srv.channels[self.channel].mode(self)
|
||||||
elif self.cmd == "NICK":
|
|
||||||
self.srv.channels[self.channel].nick(self)
|
|
||||||
elif self.cmd == "JOIN":
|
elif self.cmd == "JOIN":
|
||||||
self.srv.channels[self.channel].join(self)
|
self.srv.channels[self.channel].join(self.sender)
|
||||||
elif self.cmd == "PART":
|
elif self.cmd == "PART":
|
||||||
self.srv.channels[self.channel].part(self)
|
self.srv.channels[self.channel].part(self.sender)
|
||||||
elif self.cmd == "QUIT":
|
elif self.cmd == "NICK":
|
||||||
for chn in self.srv.channels.keys():
|
for chn in self.srv.channels.keys():
|
||||||
self.srv.channels[chn].part(self)
|
self.srv.channels[chn].nick(self.sender, self.content)
|
||||||
|
elif self.cmd == "QUIT":
|
||||||
|
for chn in self.srv.channels.keys():
|
||||||
|
self.srv.channels[chn].part(self.sender)
|
||||||
|
|
||||||
|
|
||||||
def pong (self):
|
def pong (self):
|
||||||
|
|
|
||||||
|
|
@ -312,7 +312,7 @@ def liste(cmds, servers):
|
||||||
elif l == "chan" or l == "channel" or l == "channels":
|
elif l == "chan" or l == "channel" or l == "channels":
|
||||||
if selectedServer is not None:
|
if selectedServer is not None:
|
||||||
for chn in selectedServer.channels:
|
for chn in selectedServer.channels:
|
||||||
print (" - %s ;" % chn)
|
print (" - %s: %s ;" % (chn, selectedServer.channels[chn].people.keys()))
|
||||||
else:
|
else:
|
||||||
print (" Please SELECT a server before ask for channels list.")
|
print (" Please SELECT a server before ask for channels list.")
|
||||||
else:
|
else:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue