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 --- Reaktor/IRC/ircasy.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'Reaktor/IRC/ircasy.py') diff --git a/Reaktor/IRC/ircasy.py b/Reaktor/IRC/ircasy.py index 7821305f..e32179bb 100644 --- a/Reaktor/IRC/ircasy.py +++ b/Reaktor/IRC/ircasy.py @@ -107,6 +107,9 @@ class asybot(asychat): elif command == 'INVITE': self.on_invite(prefix, command, params, rest) + elif command == 'KICK': + self.on_kick(prefix, command, params, rest) + elif command == '433': # ERR_NICKNAMEINUSE, retry with another name _, nickname, int, _ = split('^.*[^0-9]([0-9]+)$', self.nickname) \ @@ -158,11 +161,15 @@ class asybot(asychat): def ME(self, target, text): self.PRIVMSG(target, ('ACTION ' + text + '')) - def on_privmsg(self, prefix, command, params, rest): - pass - def on_welcome(self, prefix, command, params, rest): self.push('JOIN %s' % ','.join(self.channels)) + def on_kick(self, prefix, command, params, rest): + for chan in params: + self.channels.remove(chan) + + def on_privmsg(self, prefix, command, params, rest): + pass + def on_invite(self, prefix, command, params, rest): pass -- cgit v1.2.3 From 37d5c80ab68f28b453aaf38fce8aa944e010d360 Mon Sep 17 00:00:00 2001 From: lassulus Date: Wed, 22 Jan 2014 03:14:55 +0100 Subject: ircasy: fix on_kick --- Reaktor/IRC/ircasy.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'Reaktor/IRC/ircasy.py') diff --git a/Reaktor/IRC/ircasy.py b/Reaktor/IRC/ircasy.py index e32179bb..150498dd 100644 --- a/Reaktor/IRC/ircasy.py +++ b/Reaktor/IRC/ircasy.py @@ -165,8 +165,10 @@ class asybot(asychat): self.push('JOIN %s' % ','.join(self.channels)) def on_kick(self, prefix, command, params, rest): - for chan in params: - self.channels.remove(chan) + self.log.debug(params) + if params[-1] == self.nickname: + for chan in params[:-1]: + self.channels.remove(chan) def on_privmsg(self, prefix, command, params, rest): pass -- cgit v1.2.3 From f81f2f75d7fd19680a21b7d4d2b54d1e16559ab8 Mon Sep 17 00:00:00 2001 From: lassulus Date: Sat, 22 Feb 2014 17:08:27 +0100 Subject: reaktor: ircasy abstraction --- Reaktor/IRC/ircasy.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'Reaktor/IRC/ircasy.py') diff --git a/Reaktor/IRC/ircasy.py b/Reaktor/IRC/ircasy.py index 150498dd..fd261ae9 100644 --- a/Reaktor/IRC/ircasy.py +++ b/Reaktor/IRC/ircasy.py @@ -112,11 +112,7 @@ class asybot(asychat): elif command == '433': # ERR_NICKNAMEINUSE, retry with another name - _, nickname, int, _ = split('^.*[^0-9]([0-9]+)$', self.nickname) \ - if search('[0-9]$', self.nickname) \ - else ['', self.nickname, 0, ''] - self.nickname = nickname + str(int + 1) - self.handle_connect() + self.on_nickinuse(prefix, command, params, rest) elif command == '376': self.on_welcome(prefix, command, params, rest) @@ -175,3 +171,10 @@ class asybot(asychat): def on_invite(self, prefix, command, params, rest): pass + + def on_nickinuse(self, prefix, command, params, rest): + _, nickname, int, _ = split('^.*[^0-9]([0-9]+)$', self.nickname) \ + if search('[0-9]$', self.nickname) \ + else ['', self.nickname, 0, ''] + self.nickname = nickname + str(int + 1) + self.handle_connect() -- cgit v1.2.3 From b657927cf0b6420683c261ff32434b2b8b2cdf70 Mon Sep 17 00:00:00 2001 From: lassulus Date: Sat, 15 Mar 2014 01:03:52 +0100 Subject: ircasy: more debug in text decoding --- Reaktor/IRC/ircasy.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'Reaktor/IRC/ircasy.py') diff --git a/Reaktor/IRC/ircasy.py b/Reaktor/IRC/ircasy.py index fd261ae9..ac071013 100644 --- a/Reaktor/IRC/ircasy.py +++ b/Reaktor/IRC/ircasy.py @@ -85,7 +85,10 @@ class asybot(asychat): alarm(self.hammer_interval) def collect_incoming_data(self, data): - self.data += data.decode() + try: + self.data += data.decode() + except Exception as e: + print('error decoding message: ' + str(e)); def found_terminator(self): self.log.debug('<< %s' % self.data) -- cgit v1.2.3 From a9633ea16310f99c7a39dcd8c4a1c7bb05326135 Mon Sep 17 00:00:00 2001 From: lassulus Date: Sat, 15 Mar 2014 01:04:16 +0100 Subject: ircasy: new nickinuse function --- Reaktor/IRC/ircasy.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'Reaktor/IRC/ircasy.py') diff --git a/Reaktor/IRC/ircasy.py b/Reaktor/IRC/ircasy.py index ac071013..4dfff390 100644 --- a/Reaktor/IRC/ircasy.py +++ b/Reaktor/IRC/ircasy.py @@ -176,8 +176,9 @@ class asybot(asychat): pass def on_nickinuse(self, prefix, command, params, rest): - _, nickname, int, _ = split('^.*[^0-9]([0-9]+)$', self.nickname) \ - if search('[0-9]$', self.nickname) \ - else ['', self.nickname, 0, ''] - self.nickname = nickname + str(int + 1) - self.handle_connect() + regex = re.search('(\d+)$', self.nickname) + if regex: + theint = int(regex.group(0)) + self.nickname = self.nickname.strip(theint) + str(theint + 1) + else self.nickname = self.nickname + '0' + self.handle_connect() -- cgit v1.2.3 From 94751bf732ad1268e6885db8bd03b054a81f9a20 Mon Sep 17 00:00:00 2001 From: lassulus Date: Sat, 15 Mar 2014 01:17:29 +0100 Subject: ircasy: fix nickinuse --- Reaktor/IRC/ircasy.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'Reaktor/IRC/ircasy.py') diff --git a/Reaktor/IRC/ircasy.py b/Reaktor/IRC/ircasy.py index 4dfff390..5a07e8fc 100644 --- a/Reaktor/IRC/ircasy.py +++ b/Reaktor/IRC/ircasy.py @@ -178,7 +178,8 @@ class asybot(asychat): def on_nickinuse(self, prefix, command, params, rest): regex = re.search('(\d+)$', self.nickname) if regex: - theint = int(regex.group(0)) - self.nickname = self.nickname.strip(theint) + str(theint + 1) - else self.nickname = self.nickname + '0' + theint = int(regex.group(0)) + self.nickname = self.nickname.strip(theint) + str(theint + 1) + else: + self.nickname = self.nickname + '0' self.handle_connect() -- cgit v1.2.3 From aed82c8e85ae193a575282123ebb808899c696f1 Mon Sep 17 00:00:00 2001 From: lassulus Date: Sat, 15 Mar 2014 01:18:42 +0100 Subject: ircasy: more fix(drunk) --- Reaktor/IRC/ircasy.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Reaktor/IRC/ircasy.py') diff --git a/Reaktor/IRC/ircasy.py b/Reaktor/IRC/ircasy.py index 5a07e8fc..c62beee4 100644 --- a/Reaktor/IRC/ircasy.py +++ b/Reaktor/IRC/ircasy.py @@ -176,7 +176,7 @@ class asybot(asychat): pass def on_nickinuse(self, prefix, command, params, rest): - regex = re.search('(\d+)$', self.nickname) + regex = search('(\d+)$', self.nickname) if regex: theint = int(regex.group(0)) self.nickname = self.nickname.strip(theint) + str(theint + 1) -- cgit v1.2.3 From 6c1d0f30624905e2d53d2f7a09f935b91b5a2dc1 Mon Sep 17 00:00:00 2001 From: lassulus Date: Sat, 15 Mar 2014 01:19:42 +0100 Subject: ircasy: debugging through git is fine --- Reaktor/IRC/ircasy.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Reaktor/IRC/ircasy.py') diff --git a/Reaktor/IRC/ircasy.py b/Reaktor/IRC/ircasy.py index c62beee4..57ec9189 100644 --- a/Reaktor/IRC/ircasy.py +++ b/Reaktor/IRC/ircasy.py @@ -179,7 +179,7 @@ class asybot(asychat): regex = search('(\d+)$', self.nickname) if regex: theint = int(regex.group(0)) - self.nickname = self.nickname.strip(theint) + str(theint + 1) + self.nickname = self.nickname.strip(str(theint)) + str(theint + 1) else: self.nickname = self.nickname + '0' self.handle_connect() -- cgit v1.2.3 From 91ccf3c53b4186c2e30495047a3cd7a2113843db Mon Sep 17 00:00:00 2001 From: makefu Date: Tue, 25 Mar 2014 21:08:20 +0100 Subject: ircasy: fix retry, because you always want retry --- Reaktor/IRC/ircasy.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'Reaktor/IRC/ircasy.py') diff --git a/Reaktor/IRC/ircasy.py b/Reaktor/IRC/ircasy.py index 57ec9189..068cd467 100644 --- a/Reaktor/IRC/ircasy.py +++ b/Reaktor/IRC/ircasy.py @@ -22,10 +22,10 @@ class asybot(asychat): asychat.__init__(self) #logger magic self.log = logging.getLogger('asybot_' + nickname) - hdlr = logging.handlers.SysLogHandler(facility=logging.handlers.SysLogHandler.LOG_DAEMON) - formatter = logging.Formatter( '%(filename)s: %(levelname)s: %(message)s') - hdlr.setFormatter(formatter) - self.log.addHandler(hdlr) + #hdlr = logging.handlers.SysLogHandler(facility=logging.handlers.SysLogHandler.LOG_DAEMON) + #formatter = logging.Formatter( '%(filename)s: %(levelname)s: %(message)s') + #hdlr.setFormatter(formatter) + #self.log.addHandler(hdlr) logging.basicConfig(level = loglevel) self.nickname = nickname @@ -45,7 +45,7 @@ class asybot(asychat): else: self.hostname = nickname - self.retry = False + self.retry = True self.server = server self.port = port self.channels = channels -- cgit v1.2.3 From b9d60ee1a0eedc17c2dc16c73f8ed0f6809de5a0 Mon Sep 17 00:00:00 2001 From: juhulian Date: Wed, 9 Apr 2014 10:30:03 +0200 Subject: add on_join --- Reaktor/IRC/ircasy.py | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'Reaktor/IRC/ircasy.py') diff --git a/Reaktor/IRC/ircasy.py b/Reaktor/IRC/ircasy.py index 068cd467..b40913ce 100644 --- a/Reaktor/IRC/ircasy.py +++ b/Reaktor/IRC/ircasy.py @@ -113,6 +113,9 @@ class asybot(asychat): elif command == 'KICK': self.on_kick(prefix, command, params, rest) + elif command == 'JOIN': + self.on_join(prefix, command, params, rest)) + elif command == '433': # ERR_NICKNAMEINUSE, retry with another name self.on_nickinuse(prefix, command, params, rest) @@ -169,6 +172,9 @@ class asybot(asychat): for chan in params[:-1]: self.channels.remove(chan) + def on_join(self, prefix, command, params, rest): + pass + def on_privmsg(self, prefix, command, params, rest): pass -- cgit v1.2.3 From a2de1edca2b3bdfb437c295a446817ef3a42a123 Mon Sep 17 00:00:00 2001 From: juhulian Date: Wed, 9 Apr 2014 10:37:59 +0200 Subject: fix bracket by on_join --- Reaktor/IRC/ircasy.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Reaktor/IRC/ircasy.py') diff --git a/Reaktor/IRC/ircasy.py b/Reaktor/IRC/ircasy.py index b40913ce..9a7f44f3 100644 --- a/Reaktor/IRC/ircasy.py +++ b/Reaktor/IRC/ircasy.py @@ -114,7 +114,7 @@ class asybot(asychat): self.on_kick(prefix, command, params, rest) elif command == 'JOIN': - self.on_join(prefix, command, params, rest)) + self.on_join(prefix, command, params, rest) elif command == '433': # ERR_NICKNAMEINUSE, retry with another name -- cgit v1.2.3 From 9bdee602a30f715c9ba2583d3948c360448c670b Mon Sep 17 00:00:00 2001 From: makefu Date: Fri, 25 Apr 2014 12:02:03 +0200 Subject: make config file a parameter --- Reaktor/IRC/ircasy.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'Reaktor/IRC/ircasy.py') diff --git a/Reaktor/IRC/ircasy.py b/Reaktor/IRC/ircasy.py index 9a7f44f3..259ea98c 100644 --- a/Reaktor/IRC/ircasy.py +++ b/Reaktor/IRC/ircasy.py @@ -114,7 +114,10 @@ class asybot(asychat): self.on_kick(prefix, command, params, rest) elif command == 'JOIN': - self.on_join(prefix, command, params, rest) + try: + self.on_join(prefix, command, params, rest) + except: + pass elif command == '433': # ERR_NICKNAMEINUSE, retry with another name -- cgit v1.2.3 From 5efd6c0b11ce5b0ab3ec5975bfe6125af7eb6ea4 Mon Sep 17 00:00:00 2001 From: tv Date: Fri, 25 Apr 2014 12:52:05 +0200 Subject: reaktor getconf: allow default_value --- Reaktor/IRC/ircasy.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) (limited to 'Reaktor/IRC/ircasy.py') diff --git a/Reaktor/IRC/ircasy.py b/Reaktor/IRC/ircasy.py index 259ea98c..9a7f44f3 100644 --- a/Reaktor/IRC/ircasy.py +++ b/Reaktor/IRC/ircasy.py @@ -114,10 +114,7 @@ class asybot(asychat): self.on_kick(prefix, command, params, rest) elif command == 'JOIN': - try: - self.on_join(prefix, command, params, rest) - except: - pass + self.on_join(prefix, command, params, rest) elif command == '433': # ERR_NICKNAMEINUSE, retry with another name -- cgit v1.2.3