我在这里阅读了一些关于这个主题的问题,但我无法得到一个简单的答案。我将提供一些代码,以便更容易。
import socket
irc = socket.socket ( socket.AF_INET, socket.SOCK_STREAM )
irc.connect((network, port))
# Do the rest of the connection (set nick, user, join chan)
# Okay, now we're connected
while True:
doAllTheBotStuff()
我有一个!quit
打破while True:
循环的命令。但有时我会因为其他原因断开连接,比如 ping 超时,或者我的互联网崩溃。我想做的是:
while True:
doAllTheBotStuff()
if not stillConnected():
break
我该怎么做这个stillConnected()
功能?
读/写:
我为我的机器人做了一个类,但希望你能在没有所有这些信息的情况下理解它
# READING
ready = select.select([self.irc], [], [], 1)
if ready[0]:
temp = self.irc.recv(4096)
# Here I handle the reading. Parse commands and all that stuff.
写作总是对所读内容的回应。我使用这个功能:
def send_irc_cmd(self, cmd, args):
self.irc.send(cmd+" :"+args+"\r\n")