diff --git a/classes.py b/classes.py index 3081427..01b768b 100644 --- a/classes.py +++ b/classes.py @@ -763,7 +763,7 @@ class Irc(): return set(newmodes) @staticmethod - def joinModes(modes): + def joinModes(modes, sort=False): """Takes a list of (mode, arg) tuples in parseModes() format, and joins them into a string. @@ -773,7 +773,8 @@ class Irc(): args = [] # Sort modes alphabetically like a conventional IRCd. - modes = sorted(modes) + if sort: + modes = sorted(modes) for modepair in modes: mode, arg = modepair diff --git a/coremods/handlers.py b/coremods/handlers.py index 73c0a57..3c865c3 100644 --- a/coremods/handlers.py +++ b/coremods/handlers.py @@ -87,7 +87,7 @@ def handle_whois(irc, source, command, args): # Only show this to opers! if sourceisOper: f(378, source, "%s :is connecting from %s@%s %s" % (nick, user.ident, user.realhost, user.ip)) - f(379, source, '%s :is using modes %s' % (nick, irc.joinModes(user.modes))) + f(379, source, '%s :is using modes %s' % (nick, irc.joinModes(user.modes, sort=True))) # 301: used to show away information if present away_text = user.away