diff options
author | lassulus <lassulus@googlemail.com> | 2014-01-04 05:09:40 +0100 |
---|---|---|
committer | lassulus <lassulus@googlemail.com> | 2014-01-04 05:09:40 +0100 |
commit | 366f912a3771a1c5b92441ef7efed52541b33827 (patch) | |
tree | ccf436ee2e708d53b332a17be235f84730031de5 /ircbot/bot.py | |
parent | 2a730efca62a76d7344ad6bcaf0fa38acf925cdc (diff) |
ircbot: now with controller
Diffstat (limited to 'ircbot/bot.py')
-rwxr-xr-x | ircbot/bot.py | 81 |
1 files changed, 0 insertions, 81 deletions
diff --git a/ircbot/bot.py b/ircbot/bot.py deleted file mode 100755 index c9a7d027..00000000 --- a/ircbot/bot.py +++ /dev/null @@ -1,81 +0,0 @@ -#!/usr/bin/python -import irc.bot -import feedparser -import _thread -import math -from time import sleep - -class TestBot(irc.bot.SingleServerIRCBot): - def __init__(self, rss, name, server='ire', port=6667, chan='#news', timeout=60): - irc.bot.SingleServerIRCBot.__init__(self, [(server, port)], name, name) - self.url = rss - self.feed = feedparser.parse(self.url) - self.name = name - self.server = server - self.port = port - self.chan = chan - self.to = timeout - self.oldnews = [] - self.sendqueue = [] - for entry in self.feed.entries: - try: - self.sendqueue.append(entry.title + " " + entry.link + " com: " + entry.comments) - except AttributeError: - self.sendqueue.append(entry.title + " " + entry.link) - - self.oldnews.append(entry.link) - - def start(self): - self.upd_thread = _thread.start_new_thread(self.updateloop, ()) - self.bot = _thread.start_new_thread(irc.bot.SingleServerIRCBot.start, (self,)) - - - def updateloop(self): - while True: - sleep(self.to) - self.feed = feedparser.parse(self.url) - for entry in self.feed.entries: - if not entry.link in self.oldnews: - try: - self.send(entry.title + " " + entry.link + " com: " + entry.comments) - except AttributeError: - self.send(entry.title + " " + entry.link) - self.oldnews.append(entry.link) - - def sendall(self): - while len(self.sendqueue) > 0: - sleep(1) - self.send(self.sendqueue.pop()) - - def send(self, string): - if len(string) < 450: - self.connection.privmsg(self.chan, string) - else: - space = 0 - for x in range(math.ceil(len(string)/400)): - oldspace = space - space = string.find(" ", (x+1)*400, (x+1)*400+50) - self.connection.privmsg(self.chan, string[oldspace:space]) - sleep(1) - - - def on_welcome(self, connection, event): - connection.join(self.chan) - -# def on_privmsg(self, connection, event): -# print event.source().split('!')[0], event.arguments() - -F = open("feeds", "r") -lines = F.readlines() -F.close() - -botarray = [] -for line in lines: - lineArray = line.split('|') - bot = TestBot(lineArray[1], lineArray[0]) - #bot.start() - botarray.append(bot) - -def startall(): - for bot in botarray: - bot.start() |