1

ここでこのトピックに関するいくつかの質問を読みましたが、簡単な答えが得られませんでした。簡単にできるように、いくつかのコードを提供します。

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")
4

1 に答える 1