0

有没有办法自动化周期性任务:比如使用 python irclib基于扭曲的 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 的解决方案,您可以简单地使用 aLoopingCall来安排您想要调用的任何周期性方法。

(如果您使用 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 回答