X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=lib%2Frbot%2Frfc2812.rb;h=ee0d08d605d40781c40b0e3e656d4d82a0a68e43;hb=81e0b9c7405c3731f6df1e50f6b32a35c224dfa7;hp=800c012094b944c50eacb9204a58858e2437df4b;hpb=be13464e9f3f41936bea6b4cf5ad6acf965a82a6;p=user%2Fhenk%2Fcode%2Fruby%2Frbot.git diff --git a/lib/rbot/rfc2812.rb b/lib/rbot/rfc2812.rb index 800c0120..ee0d08d6 100644 --- a/lib/rbot/rfc2812.rb +++ b/lib/rbot/rfc2812.rb @@ -1474,6 +1474,9 @@ module Irc when :MODE parse_mode(serverstring, argv, data) handle(:mode, data) + when :ERROR + data[:message] = argv[1] + handle(:error, data) else warning "Unknown message #{serverstring.inspect}" handle(:unknown, data) @@ -1531,7 +1534,7 @@ module Irc data[:modes].last << arg end } - else + when Channel # array of indices in data[:modes] where parameters # are needed who_wants_params = [] @@ -1584,6 +1587,10 @@ module Irc getting_args = true unless who_wants_params.empty? end end + unless who_wants_params.empty? + warning "Unhandled malformed modeline #{data[:modestring]} (unexpected empty arguments)" + return + end data[:modes].each { |mode| set, key, val = mode @@ -1593,6 +1600,8 @@ module Irc data[:target].mode[key].send(set) end } + else + warning "Ignoring #{data[:modestring]} for unrecognized target #{argv[0]} (#{data[:target].inspect})" end end end