Change nickname/realname/fullname usage: now sender var contains fullname (nick\!real) and is used for server sent
This commit is contained in:
parent
469053a529
commit
bc860ef837
3 changed files with 46 additions and 48 deletions
35
DCC.py
35
DCC.py
|
|
@ -20,13 +20,13 @@ class DCC(threading.Thread):
|
|||
self.connected = self.conn is not None
|
||||
self.messages = list()
|
||||
|
||||
self.named = dest
|
||||
if self.named is not None:
|
||||
self.dest = (self.named.split('!'))[0]
|
||||
if self.dest != self.named:
|
||||
self.realname = (self.named.split('!'))[1]
|
||||
self.sender = dest
|
||||
if self.sender is not None:
|
||||
self.nick = (self.sender.split('!'))[0]
|
||||
if self.nick != self.sender:
|
||||
self.realname = (self.sender.split('!'))[1]
|
||||
else:
|
||||
self.realname = self.dest
|
||||
self.realname = self.nick
|
||||
|
||||
self.srv = srv
|
||||
|
||||
|
|
@ -106,7 +106,7 @@ class DCC(threading.Thread):
|
|||
print ('Listen on', self.port, "for", self.named)
|
||||
|
||||
#Send CTCP request for DCC
|
||||
self.srv.send_ctcp(self.dest, "DCC %s %s %d %d" % (type, filename, self.srv.ip, self.port), "PRIVMSG")
|
||||
self.srv.send_ctcp(self.nick, "DCC %s %s %d %d" % (type, filename, self.srv.ip, self.port), "PRIVMSG")
|
||||
|
||||
s.listen(1)
|
||||
#Waiting for the client
|
||||
|
|
@ -115,9 +115,9 @@ class DCC(threading.Thread):
|
|||
self.connected = True
|
||||
|
||||
def send_dcc(self, msg, to = None):
|
||||
if to is None or to == self.named or to == self.dest:
|
||||
if to is None or to == self.sender or to == self.nick:
|
||||
if self.error:
|
||||
self.srv.send_msg_final(self.dest, msg)
|
||||
self.srv.send_msg_final(self.nick, msg)
|
||||
elif not self.connected or self.conn is None:
|
||||
if not self.DCC:
|
||||
self.start()
|
||||
|
|
@ -168,19 +168,20 @@ class DCC(threading.Thread):
|
|||
name = line[nicksize+1:].strip()[11:].decode('utf-8', 'replace')
|
||||
if re.match("^[a-zA-Z0-9_-]+$", name):
|
||||
if name not in self.srv.dcc_clients:
|
||||
del self.srv.dcc_clients[self.dest]
|
||||
del self.srv.dcc_clients[self.named]
|
||||
self.dest = name
|
||||
self.named = self.dest + "!" + self.named.split("!")[1]
|
||||
self.srv.dcc_clients[self.dest] = self
|
||||
self.srv.dcc_clients[self.named] = self
|
||||
self.send_dcc("Hi "+self.dest)
|
||||
del self.srv.dcc_clients[self.sender]
|
||||
self.nick = name
|
||||
if len(self.sender.split("!")) > 1:
|
||||
self.sender = self.nick + "!" + self.sender.split("!")[1]
|
||||
else:
|
||||
self.sender = self.nick
|
||||
self.srv.dcc_clients[self.sender] = self
|
||||
self.send_dcc("Hi "+self.nick)
|
||||
else:
|
||||
self.send_dcc("This nickname is already in use, please choose another one.")
|
||||
else:
|
||||
self.send_dcc("The name you entered contain invalid char.")
|
||||
else:
|
||||
self.srv.treat_msg((":%s PRIVMSG %s :" % (self.named, self.srv.nick)).encode() + line, self.srv)
|
||||
self.srv.treat_msg((":%s PRIVMSG %s :" % (self.sender, self.srv.nick)).encode() + line, self.srv)
|
||||
|
||||
if self.connected:
|
||||
self.conn.close()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue