autos = @registry[:onjoin]\r
count = autos.length\r
\r
- idx = params[:idx].to_i\r
+ idx = nil\r
+ idx = params[:idx].to_i if params[:idx]\r
\r
if idx\r
if idx > count\r
end\r
end\r
@registry[:onjoin] = autos\r
- m.okay if count > autos.length\r
+ if count > autos.length\r
+ m.okay\r
+ else\r
+ m.reply "No matching onjoin rule for #{host} found"\r
+ end\r
end\r
\r
def add_badword(m, params=nil)\r
badwords = @registry[:badwords]\r
count = badwords.length\r
\r
- idx = params[:idx].to_i\r
+ idx = nil\r
+ idx = params[:idx].to_i if params[:idx]\r
\r
if idx\r
if idx > count\r
\r
badwords.each { |badword|\r
next unless ['all', badword.channel].include?(channel)\r
+ debug "Removing #{badword.inspect}" if badword == regexp\r
badwords.delete(badword) if badword == regexp\r
}\r
end\r
\r
@registry[:badwords] = badwords\r
- m.okay if count > badwords.length\r
+ if count > badwords.length\r
+ m.okay\r
+ else\r
+ m.reply "No matching badword #{regexp} found"\r
+ end\r
end\r
\r
def add_whitelist(m, params=nil)\r
wl = @registry[:whitelist]\r
count = wl.length\r
\r
- idx = params[:idx].to_i\r
+ idx = nil\r
+ idx = params[:idx].to_i if params[:idx]\r
\r
if idx\r
if idx > count\r
end\r
end\r
@registry[:whitelist] = wl\r
- m.okay if count > whitelist.length\r
+ if count > whitelist.length\r
+ m.okay\r
+ else\r
+ m.reply "No host matching #{host}"\r
+ end\r
end\r
\r
private\r