From 46ed619c2bd334f64e2d0a9eaa43cf73f5fd5bde Mon Sep 17 00:00:00 2001 From: lassulus Date: Wed, 15 Jan 2014 15:33:00 +0100 Subject: news: control channel now #news --- news/newsbot.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'news/newsbot.py') diff --git a/news/newsbot.py b/news/newsbot.py index 5850e4e9..54a2e7d2 100644 --- a/news/newsbot.py +++ b/news/newsbot.py @@ -221,7 +221,7 @@ url_shortener = 'http://wall' init_channels = ['#news'] bots = {} -knews = NewsBot('knews') +knews = NewsBot('knews', init_channels) #config file reading F = open(feedfile, "r") -- cgit v1.2.3 From 3ca518888e9e72f80984dccb8afb1bde31a547dd Mon Sep 17 00:00:00 2001 From: lassulus Date: Wed, 22 Jan 2014 03:02:55 +0100 Subject: news/ircasy: handle kick correctly --- news/newsbot.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'news/newsbot.py') diff --git a/news/newsbot.py b/news/newsbot.py index 54a2e7d2..f1ab9ce5 100644 --- a/news/newsbot.py +++ b/news/newsbot.py @@ -231,7 +231,7 @@ F.close() for line in lines: line = line.strip('\n') linear = line.split('|') - bot = RssBot(linear[1], linear[0], init_channels + linear[2].split(), url_shortener=url_shortener) + bot = RssBot(linear[1], linear[0], linear[2].split(), url_shortener=url_shortener) bot.start_rss() bots[linear[0]] = bot -- cgit v1.2.3 From 7c579f4692198045e9fe4d6957eaaa210df76c75 Mon Sep 17 00:00:00 2001 From: lassulus Date: Wed, 22 Jan 2014 03:19:58 +0100 Subject: news: add chan to channels on invite --- news/newsbot.py | 1 + 1 file changed, 1 insertion(+) (limited to 'news/newsbot.py') diff --git a/news/newsbot.py b/news/newsbot.py index f1ab9ce5..40f2c385 100644 --- a/news/newsbot.py +++ b/news/newsbot.py @@ -39,6 +39,7 @@ class NewsBot(asybot): def on_invite(self, prefix, command, params, rest): for chan in rest.split(): self.push('JOIN ' + chan) + self.channels.append(chan) def read_message(self, args): try: -- cgit v1.2.3 From 07a3ca010414bf249a8e865eca9e597c9013a986 Mon Sep 17 00:00:00 2001 From: lassulus Date: Wed, 22 Jan 2014 03:22:24 +0100 Subject: news: rssbot same --- news/newsbot.py | 1 + 1 file changed, 1 insertion(+) (limited to 'news/newsbot.py') diff --git a/news/newsbot.py b/news/newsbot.py index 40f2c385..899c5dd2 100644 --- a/news/newsbot.py +++ b/news/newsbot.py @@ -216,6 +216,7 @@ class RssBot(asybot): def on_invite(self, prefix, command, params, rest): for chan in rest.split(): self.push('JOIN ' + chan) + self.channels.append(chan) feedfile = 'new_feeds' url_shortener = 'http://wall' -- cgit v1.2.3 From 411ee049d557fc22e6f3959f866d59ec2dd32443 Mon Sep 17 00:00:00 2001 From: lassulus Date: Sat, 22 Feb 2014 17:06:32 +0100 Subject: news: timeout bug fix --- news/newsbot.py | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) (limited to 'news/newsbot.py') diff --git a/news/newsbot.py b/news/newsbot.py index 899c5dd2..b24a86e4 100644 --- a/news/newsbot.py +++ b/news/newsbot.py @@ -175,8 +175,8 @@ class RssBot(asybot): self.sendall(entry.title + ' ' + shorturl) self.oldnews.append(entry.link) self.lastnew = datetime.now() - except: - print(self.nickname + ': rss timeout occured') + except Exception as e: + print(str(datetime.now().hour) + ':' + str(datetime.now().minute) + ' ' + self.nickname + ': ' + str(e)) sleep(self.to) def shortenurl(self, url): @@ -193,7 +193,10 @@ class RssBot(asybot): self.send_msg(target, feed.title + ' ' + self.shortenurl(feed.link)) def sendall(self, string): - self.send_msg(self.channels, string) + try: + self.send_msg(self.channels, string) + except Exception as e: + print(self.nickname + ': failed sending all to ' + str(self.channels) + ' because of ' + str(e)); def send_msg(self, target, string): if self.connected: @@ -209,9 +212,9 @@ class RssBot(asybot): else: self.reconnect() while not self.connected: - sleep(3) - print('waiting for reconnect') - self.send_msg(string) + sleep(10) + print(self.nickname + ' waiting for reconnect') + self.send_msg(target, string) def on_invite(self, prefix, command, params, rest): for chan in rest.split(): @@ -237,5 +240,12 @@ for line in lines: bot.start_rss() bots[linear[0]] = bot -th = threading.Thread(target=loop) +def thread_handler(): + while True: + try: + loop() + except Exception as e: + print('ohoh ' + e) + +th = threading.Thread(target=thread_handler) th.start() -- cgit v1.2.3 From a9a659f9b5aa46e2486c9171270d2b18e28e81f4 Mon Sep 17 00:00:00 2001 From: lassulus Date: Sat, 22 Feb 2014 17:07:39 +0100 Subject: news: harder retry --- news/newsbot.py | 2 ++ 1 file changed, 2 insertions(+) (limited to 'news/newsbot.py') diff --git a/news/newsbot.py b/news/newsbot.py index b24a86e4..8834851d 100644 --- a/news/newsbot.py +++ b/news/newsbot.py @@ -139,6 +139,8 @@ class RssBot(asybot): self.loop = True self.lastnew = datetime.now() self.url_shortener = url_shortener + self.retry = True + self.on_nickinuse = lambda: None def start_rss(self): self.upd_loop = threading.Thread(target=self.updateloop) -- cgit v1.2.3 From 2dc26fdb5d5b0fa55a4b6ad656f373a4453a47dc Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 16 Mar 2014 20:14:17 +0100 Subject: newsbot.py: better space finding --- news/newsbot.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'news/newsbot.py') diff --git a/news/newsbot.py b/news/newsbot.py index 8834851d..0161f818 100644 --- a/news/newsbot.py +++ b/news/newsbot.py @@ -203,14 +203,14 @@ class RssBot(asybot): def send_msg(self, target, string): if self.connected: for line in string.split('\n'): - if len(line) < 450: - self.PRIVMSG(target, line) - else: - space = 0 - for x in range(math.ceil(len(line)/400)): - oldspace = space - space = line.find(" ", (x+1)*400, (x+1)*400+50) - self.PRIVMSG(target, line[oldspace:space]) + while len(line)>0: + if len(line) < 450: + self.PRIVMSG(target, line) + line = '' + else: + space = line.rfind(" ", 1, 450) + self.PRIVMSG(target, line[:space]) + line=line[space:] else: self.reconnect() while not self.connected: -- cgit v1.2.3 From cb259188f3f7c9b5c37a5b11692b5c7c5f1e146a Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 16 Mar 2014 20:14:48 +0100 Subject: newsbot.py: debug messages before sleeping --- news/newsbot.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'news/newsbot.py') diff --git a/news/newsbot.py b/news/newsbot.py index 0161f818..19ca3647 100644 --- a/news/newsbot.py +++ b/news/newsbot.py @@ -214,8 +214,8 @@ class RssBot(asybot): else: self.reconnect() while not self.connected: - sleep(10) print(self.nickname + ' waiting for reconnect') + sleep(10) self.send_msg(target, string) def on_invite(self, prefix, command, params, rest): -- cgit v1.2.3 From f39adfd9f57cff86813b4be4c503dda5055f02a1 Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 16 Mar 2014 22:16:56 +0100 Subject: newsbot.py: url_shortener better abstraction --- news/newsbot.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'news/newsbot.py') diff --git a/news/newsbot.py b/news/newsbot.py index 19ca3647..4e07d622 100644 --- a/news/newsbot.py +++ b/news/newsbot.py @@ -17,7 +17,7 @@ from time import sleep ## Newsbot Controller Class class NewsBot(asybot): - def __init__(self, name, channels=['#test'], server='ire', port=6667, timeout=60, loglevel=logging.ERROR, url_shortener='http://wall'): + def __init__(self, name, channels=['#test'], server='ire', port=6667, timeout=60, loglevel=logging.ERROR, url_shortener='http://localhost'): asybot.__init__(self, server, port, name, channels, loglevel=loglevel) self.to = timeout self.url_shortener = url_shortener @@ -223,12 +223,16 @@ class RssBot(asybot): self.push('JOIN ' + chan) self.channels.append(chan) + def on_welcome(self, prefix, command, params, rest): + asybot.on_welcome(self, prefix, command, params, rest) + self.push('MODE ' + self.nickname + ' +D') + feedfile = 'new_feeds' -url_shortener = 'http://wall' +url_shortener = 'http://go' init_channels = ['#news'] bots = {} -knews = NewsBot('knews', init_channels) +knews = NewsBot('knews', init_channels, url_shortener=url_shortener) #config file reading F = open(feedfile, "r") -- cgit v1.2.3 From 10a5a94176b21e54d743be2d1a7a3898ed5916b4 Mon Sep 17 00:00:00 2001 From: lassulus Date: Sun, 16 Mar 2014 22:17:16 +0100 Subject: newsbot.py: dummy nickinuse fix --- news/newsbot.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'news/newsbot.py') diff --git a/news/newsbot.py b/news/newsbot.py index 4e07d622..2f8bf635 100644 --- a/news/newsbot.py +++ b/news/newsbot.py @@ -140,7 +140,9 @@ class RssBot(asybot): self.lastnew = datetime.now() self.url_shortener = url_shortener self.retry = True - self.on_nickinuse = lambda: None + + def on_nickinuse(*bla): + pass def start_rss(self): self.upd_loop = threading.Thread(target=self.updateloop) -- cgit v1.2.3