diff --git a/plugins/Filter/plugin.py b/plugins/Filter/plugin.py index 389dcd5de..68dbc42b5 100644 --- a/plugins/Filter/plugin.py +++ b/plugins/Filter/plugin.py @@ -357,7 +357,8 @@ class Filter(callbacks.Plugin): if c == ' ': return c if fg is None: - fg = str(random.randint(2, 15)).zfill(2) + fg = random.randint(2, 15) + fg = str(fg).zfill(2) return '\x03%s%s' % (fg, c) def colorize(self, irc, msg, args, text): diff --git a/src/ircutils.py b/src/ircutils.py index 2b03797b9..c39e73ad5 100644 --- a/src/ircutils.py +++ b/src/ircutils.py @@ -410,11 +410,16 @@ class FormatParser(object): i = 0 setI = False c = self.getChar() - while c.isdigit() and i < 100: - setI = True - i *= 10 - i += int(c) - c = self.getChar() + while c.isdigit(): + j = i * 10 + j += int(c) + if j >= 16: + self.ungetChar(c) + break + else: + setI = True + i = j + c = self.getChar() self.ungetChar(c) if setI: return i @@ -426,6 +431,8 @@ class FormatParser(object): c = self.getChar() if c == ',': context.bg = self.getInt() + else: + self.ungetChar(c) def wrap(s, length): processed = []