* move server's hostname on IRC to realname, part 3: making it work
This commit is contained in:
parent
68790df27f
commit
181b590699
|
@ -443,30 +443,28 @@ def irc_thread():
|
|||
try:
|
||||
s = socket.socket()
|
||||
s.connect(('irc.freenode.net', 6667))
|
||||
s.send('USER electrum 0 * '+config.get('server','host')+' '+config.get('server','ircname')+'\n')
|
||||
s.send('USER electrum 0 * :'+config.get('server','host')+' '+config.get('server','ircname')+'\n')
|
||||
s.send('NICK '+NICK+'\n')
|
||||
s.send('JOIN #electrum\n')
|
||||
sf = s.makefile('r', 0)
|
||||
t = 0
|
||||
while not stopping:
|
||||
line = s.recv(2048)
|
||||
line = sf.readline()
|
||||
line = line.rstrip('\r\n')
|
||||
line = line.split()
|
||||
if line[0]=='PING':
|
||||
s.send('PONG '+line[1]+'\n')
|
||||
elif '353' in line: # answer to /names
|
||||
k = line.index('353')
|
||||
try:
|
||||
k2 = line.index('366')
|
||||
except:
|
||||
continue
|
||||
for item in line[k+1:k2]:
|
||||
for item in line[k+1:]:
|
||||
if item[0:2] == 'E_':
|
||||
s.send('WHO %s\n'%item)
|
||||
elif '352' in line: # answer to /who
|
||||
# warning: this is a horrible hack which apparently works
|
||||
name = line[2]
|
||||
ip = line[10]
|
||||
host = line[5]
|
||||
k = line.index('352')
|
||||
ip = line[k+4]
|
||||
name = line[k+6]
|
||||
host = line[k+9]
|
||||
peer_list[name] = (ip,host)
|
||||
elif time.time() - t > 5*60:
|
||||
s.send('NAMES #electrum\n')
|
||||
|
@ -474,6 +472,7 @@ def irc_thread():
|
|||
except:
|
||||
traceback.print_exc(file=sys.stdout)
|
||||
finally:
|
||||
sf.close()
|
||||
s.close()
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue