2014-03-01 16 views
0

作为学习Python的一部分,我制作了一个基本的IRC bot,它将加入某个频道并说出一个定义的短语。但是,最新版本的Python有变化吗? 11Python连接到IRC功能 - 必须是整数

import socket 

nick = 'TigerBot' 
passdwd = '*****' 
port = '6667' 
net = 'irc.snoonet.org' 
chan = '#WritingPrompts' 

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # Was ist da IRC Socket? 

sock.connect ((net, port)) # Open server connection 

irc.recv (4096) # Buffer setup 
irc.send('nick ' + nick + '\r\n') # What is your name? 
irc.send('USER AffixBot AffixBot AffixBot :Affix IRC\r\n') #Send User Info to the server 
irc.send('JOIN ' + chan + '\r\n') # Join the pre defined channel 
irc.send('PRIVMSG ' + chan + ' :Hello.\r\n') #Send a Message to the channel 

while True: #While Connection is Active 
    data = irc.recv (4096) #Make Data the Receive Buffer 
    if data.find('PING') != -1: # If PING 
    irc.send('PONG ' + data.split()[1] + '\r\n') # Then PONG 

线的问题 - 显然,我所作为一个字符串必须是整数了下来。我怎么去解决这个问题?

+0

你正在'port ='6667''这行声明'port'为一个字符串。尝试使用'port = 6667'声明它为int。 –

回答

0

将端口的定义更改为整数。

port = 6667 

port = '6667' 

在一般情况下,如果你有需要为特定的呼叫一个int现有的字符串值,可以通过调用int(str)投,这将返回str的值作为一个整数或者如果它不能施放,则提高ValueError

相关问题