0

python irclibまたはtwisted ベースの youmomdotcom python irc botを使用して、他のユーザーやチャネルにメッセージを送信するなど、定期的なタスクを自動化する方法はありますか。

irclibベースの irc クライアントの例:

from irc import client
class OurIRCClient(client.SimpleIRCClient):
    def __init__(self):
        client.SimpleIRCClient.__init__(self)

import sys
client = OurIRCClient()

try:
    client.connect("irc.freenode.net", 6667, myUserId)
    print "connected to irc.freenode.net"
except:
    sys.exit(-1)
    "error: coouldn't connect to irc server"
client.connection.join("#django-hotclub")
client.start()
4

2 に答える 2

2

Twisted ベースのソリューションを使用する場合は、 aを使用しLoopingCallて、呼び出したい定期的なメソッドをスケジュールするだけです。

(irclib を使用する場合、すべての状況で適切に機能するようにこれを行うのははるかに難しいため、ここでの回答には含めません。)

于 2013-10-08T23:01:30.563 に答える
1

Glyph が指摘したように、irc クライアント クラスのインスタンス メソッドconnectionMadeをオーバーライドし、 LoopingCallを使用するようにしました。

 def connectionMade(self):
        irc.IRCClient.connectionMade(self)
        task.LoopingCall(lambda : (self.msg(counterpartID, "hi there"))).start(5.0)
于 2013-10-09T09:45:08.453 に答える