+
+ def inspect
+ fields = ' old=' << oldnick
+ fields << ' new=' << newnick
+ super(fields)
+ end
+ end
+
+ # class to manage mode changes
+ class ModeChangeMessage < BasicUserMessage
+ attr_accessor :modes
+ def initialize(bot, server, source, target, message="")
+ super(bot, server, source, target, message)
+ @address = (source == @bot.myself)
+ @modes = []
+ end
+
+ def inspect
+ fields = ' modes=' << modes.inspect
+ super(fields)
+ end
+ end
+
+ # class to manage WHOIS replies
+ class WhoisMessage < BasicUserMessage
+ attr_reader :whois
+ def initialize(bot, server, source, target, whois)
+ super(bot, server, source, target, "")
+ @address = (target == @bot.myself)
+ @whois = whois
+ end
+
+ def inspect
+ fields = ' whois=' << whois.inspect
+ super(fields)
+ end
+ end
+
+ # class to manage NAME replies
+ class NamesMessage < BasicUserMessage
+ attr_accessor :users
+ def initialize(bot, server, source, target, message="")
+ super(bot, server, source, target, message)
+ @users = []
+ end
+
+ def inspect
+ fields = ' users=' << users.inspect
+ super(fields)
+ end
+ end
+
+ # class to manager Ban list replies
+ class BanlistMessage < BasicUserMessage
+ # the bans
+ attr_accessor :bans
+
+ def initialize(bot, server, source, target, message="")
+ super(bot, server, source, target, message)
+ @bans = []
+ end
+
+ def inspect
+ fields = ' bans=' << bans.inspect
+ super(fields)
+ end