Python连接到IRC函数 - 必须是整数

时间:2014-03-01 21:14:11

标签: python irc

我制作了一个基本的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行是问题 - 显然,我作为一个字符串得到的东西需要是一个整数。我怎么能这样做呢?

1 个答案:

答案 0 :(得分:0)

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

port = 6667

port = '6667'

通常,如果您的现有字符串值需要是特定调用的int,则可以通过调用int(str)进行强制转换,这将返回str的值作为整数或引发{{ 1}}如果它不能施放。