From f1491bbc2003de22d5436d8fea0ce6eb80db8dd3 Mon Sep 17 00:00:00 2001 From: lassulus Date: Thu, 9 Jan 2014 18:35:14 +0100 Subject: ircbot: shortenurl function --- ircbot/contoller.py | 1 - 1 file changed, 1 deletion(-) (limited to 'ircbot/contoller.py') diff --git a/ircbot/contoller.py b/ircbot/contoller.py index 1d9347c3..bf4dd578 100755 --- a/ircbot/contoller.py +++ b/ircbot/contoller.py @@ -116,7 +116,6 @@ class commands(): return 'bot not found' - feedfile = 'new_feeds' url_shortener = 'http://wall' init_channels = ['#news'] -- cgit v1.2.3 From 1b3abcd0e37f2c3730ab05062f6b0275429a3522 Mon Sep 17 00:00:00 2001 From: lassulus Date: Thu, 9 Jan 2014 19:04:03 +0100 Subject: ircbot: search command --- ircbot/contoller.py | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) (limited to 'ircbot/contoller.py') diff --git a/ircbot/contoller.py b/ircbot/contoller.py index bf4dd578..59c3abb8 100755 --- a/ircbot/contoller.py +++ b/ircbot/contoller.py @@ -3,8 +3,7 @@ import irc.bot import _thread import rssbot import os - - +import subprocess class NewsBot(irc.bot.SingleServerIRCBot): def __init__(self, name, chans=['#news'], server='ire', port=6667, timeout=60): @@ -27,15 +26,10 @@ class NewsBot(irc.bot.SingleServerIRCBot): self.connection.privmsg(target, line) sleep(1) - def sendq(self, target, string): - for line in string.split('\n'): - self.connection.privmsg(target, line) - sleep(1) - def on_privmsg(self, connection, event): args_array = event.arguments[0].split() answer = self.read_message(args_array) - self.sendq(event.source.nick, answer) + self.send(event.source.nick, answer) def on_pubmsg(self, connection, event): args_array = event.arguments[0].split() @@ -115,6 +109,9 @@ class commands(): else: return 'bot not found' + def search(args): + output = subprocess.check_output(['./GfindFeeds4bot', args[1]]).decode() + return output feedfile = 'new_feeds' url_shortener = 'http://wall' -- cgit v1.2.3 From 35e13322e83e95d7b4e671e72bcd885277433f99 Mon Sep 17 00:00:00 2001 From: lassulus Date: Thu, 9 Jan 2014 23:42:13 +0100 Subject: ircbot: fix empty first arg bug --- ircbot/contoller.py | 142 ---------------------------------------------------- 1 file changed, 142 deletions(-) delete mode 100755 ircbot/contoller.py (limited to 'ircbot/contoller.py') diff --git a/ircbot/contoller.py b/ircbot/contoller.py deleted file mode 100755 index 59c3abb8..00000000 --- a/ircbot/contoller.py +++ /dev/null @@ -1,142 +0,0 @@ -from time import sleep -import irc.bot -import _thread -import rssbot -import os -import subprocess - -class NewsBot(irc.bot.SingleServerIRCBot): - def __init__(self, name, chans=['#news'], server='ire', port=6667, timeout=60): - irc.bot.SingleServerIRCBot.__init__(self, [(server, port)], name, name) - self.name = name - self.server = server - self.port = port - self.chans = chans - self.to = timeout - - def start(self): - self.bot = _thread.start_new_thread(irc.bot.SingleServerIRCBot.start, (self,)) - - def on_welcome(self, connection, event): - for chan in self.chans: - connection.join(chan) - - def send(self, target, string): - for line in string.split('\n'): - self.connection.privmsg(target, line) - sleep(1) - - def on_privmsg(self, connection, event): - args_array = event.arguments[0].split() - answer = self.read_message(args_array) - self.send(event.source.nick, answer) - - def on_pubmsg(self, connection, event): - args_array = event.arguments[0].split() - if args_array[0][:-1]==self.name: - answer = self.read_message(args_array[1:]) - self.send(event.target, answer) - - def on_invite(self, connection, event): - for chan in event.arguments: - connection.join(chan) - - def read_message(self, args): - try: - if args[0] in [x for x in commands.__dict__.keys() if x.find('_')]: - func = getattr(commands, args[0]) - return func(args) - else: - return 'command not found' - except: - return "mimimimi" - - - -class commands(): - def add(args): - bot = rssbot.RssBot(args[2], args[1], url_shortener=url_shortener) - bots[args[1]] = bot - bot.start() - return "bot " + args[1] + " added" - - def delete(args): - bots[args[1]].stop() - del bots[args[1]] - return "bot " + args[1] + " deleted" - - def rename(args): - if args[1] in bots: - if args[2] in bots: - return args[2] + ' already taken' - else: - bots[args[1]].connection.nick(args[2]) - bots[args[1]].name = args[2] - bots[args[2]] = bots[args[1]] - del bots[args[1]] - return 'renamed ' + args[1] + ' in ' + args[2] - else: - return args[1] + ' does not exist' - - def save(args): - output_buffer = '' - for bot in bots: - output_buffer += bot + '|' + bots[bot].url + '|' + ' '.join(bots[bot].channels) + '\n' - - F = open(feedfile, "w") - F.writelines(output_buffer) - F.close() - - return "bots saved to " + feedfile - - def caps(args): - return ' '.join([x for x in commands.__dict__.keys() if x.find('_')]) - - def list(args): - output_buffer = '' - for bot in bots: - output_buffer += bot + ' url: ' + bots[bot].url + '\n' - return output_buffer - - def info(args): - if args[1] in bots: - output_buffer = '' - for data in ['title', 'link', 'updated']: - if data in bots[args[1]].feed.feed: - output_buffer += data + ': ' + bots[args[1]].feed.feed[data] + '\n' - output_buffer += 'lastnew: ' + bots[args[1]].lastnew.isoformat() - return output_buffer - else: - return 'bot not found' - - def search(args): - output = subprocess.check_output(['./GfindFeeds4bot', args[1]]).decode() - return output - -feedfile = 'new_feeds' -url_shortener = 'http://wall' -init_channels = ['#news'] - -if 'FEEDFILE' in os.environ: - feedfile = os.environ['FEEDFILE'] - -if 'URLSHORT' in os.environ: - url_shortener = os.environ['URLSHORT'] - -bots = {} -knews = NewsBot('knews') - -#config file reading -F = open(feedfile, "r") -lines = F.readlines() -F.close() - -for line in lines: - line = line.strip('\n') - linear = line.split('|') - bot = rssbot.RssBot(linear[1], linear[0], init_channels + linear[2].split(), url_shortener) - bot.start() - bots[linear[0]] = bot - -knews.start() - -- cgit v1.2.3