我制作了一个基本的IRC机器人,它可以加入某个频道并说出一个定义的短语,作为学习Python的一部分。但是,最新版本的Python有没有变化?
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
第11行是问题 - 显然,我作为一个字符串得到的东西需要是一个整数。我怎么能这样做呢?
答案 0 :(得分:0)
将端口的定义更改为整数。
port = 6667
不
port = '6667'
通常,如果您的现有字符串值需要是特定调用的int,则可以通过调用int(str)
进行强制转换,这将返回str的值作为整数或引发{{ 1}}如果它不能施放。