通常我會用扭曲的庫嘗試類似這樣的操作,但這不適用於python 3 - 所以我嘗試使用套接字庫。代碼確實建立了連接,但服務器很快響應「無身份響應」。我沒有太多的網絡編程經驗,所以如果有人能指出我在這裏所犯的錯誤,我將不勝感激。我也很清楚,有些函數/其他代碼沒有被使用,或者我使用的不一致。我只是認爲我會粘貼我的代碼的全部情況下,以防其相關。連接到IRC服務器時出現「NO IDENT RESPONSE」錯誤
import socket
server = "irc.freenode.net"
channel = "put channel here"
nickname = "put nickname here"
def encode(text):
return text.encode("ascii")
def ping():
irc_socket.send(encode("PONG :pingis\n"))
def send_message(chan, msg):
irc_socket.send(encode("PRIVMSG " + chan + " :" + msg + "\n"))
def join_channel(chan):
irc_socket.send(encode("JOIN " + chan + "\n"))
def login(username='user', realname='Pythonist', hostname='Helena', servername='Server'):
irc_socket.send(encode("USER %s %s %s %s" % (username, hostname, servername, realname)))
irc_socket.send(encode("NICK " + nickname))
irc_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
irc_socket.connect((server, 6667))
login()
join_channel(channel)
while True:
buffer = irc_socket.recv(1024)
msg = str.split(str(buffer))
if msg[0] == "PING":
irc_socket.send("PONG %s" % msg[1])
print(msg)
該代碼最初來自:http://wiki.shellium.org/w/Writing_an_IRC_bot_in_Python和我做了一些小改動。
「無身份響應」並不是一個真正的錯誤。即使您使用桌面客戶端,您通常也會看到它。 – icktoofay 2014-12-07 23:04:09
你會有複製粘貼:) – simopopov 2014-12-07 23:04:56