summaryrefslogtreecommitdiffstats
path: root/ircbot/bot.py
diff options
context:
space:
mode:
authorlassulus <lassulus@googlemail.com>2014-01-04 05:09:40 +0100
committerlassulus <lassulus@googlemail.com>2014-01-04 05:09:40 +0100
commit366f912a3771a1c5b92441ef7efed52541b33827 (patch)
treeccf436ee2e708d53b332a17be235f84730031de5 /ircbot/bot.py
parent2a730efca62a76d7344ad6bcaf0fa38acf925cdc (diff)
ircbot: now with controller
Diffstat (limited to 'ircbot/bot.py')
-rwxr-xr-xircbot/bot.py81
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()