summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Gilbert <tom@linuxbrit.co.uk>2005-10-13 15:37:44 +0000
committerTom Gilbert <tom@linuxbrit.co.uk>2005-10-13 15:37:44 +0000
commit8b0e2e09f81a7d89ceb52e947e9db12a206a8c37 (patch)
tree9ad17bf9e5597226c3e9db2ec3b95425e30974ab
parentd5257757e7cbe3067ba3befb8ea98dd9cd3f5c54 (diff)
various outstanding changes
-rw-r--r--data/rbot/plugins/autoop.rb2
-rw-r--r--data/rbot/plugins/freshmeat.rb20
-rw-r--r--data/rbot/plugins/markov.rb8
-rw-r--r--data/rbot/plugins/seen.rb2
-rw-r--r--lib/rbot/ircbot.rb2
5 files changed, 23 insertions, 11 deletions
diff --git a/data/rbot/plugins/autoop.rb b/data/rbot/plugins/autoop.rb
index 6187cf4d..cc1e11a9 100644
--- a/data/rbot/plugins/autoop.rb
+++ b/data/rbot/plugins/autoop.rb
@@ -1,6 +1,6 @@
class AutoOP < Plugin
def help(plugin, topic="")
- "perform autoop based on hostmask - usage: addop <hostmask> [channel channel ...], rmop <hostmask> [channel], list - list current ops. If you don't specify which channels, all channels are assumed"
+ "perform autoop based on hostmask - usage: add <hostmask> [channel channel ...], rm <hostmask> [channel], list - list current ops. If you don't specify which channels, all channels are assumed"
end
def join(m)
diff --git a/data/rbot/plugins/freshmeat.rb b/data/rbot/plugins/freshmeat.rb
index 20fa7248..eb2dbdf7 100644
--- a/data/rbot/plugins/freshmeat.rb
+++ b/data/rbot/plugins/freshmeat.rb
@@ -58,16 +58,22 @@ class FreshmeatPlugin < Plugin
def freshmeat(m, params)
max = params[:limit].to_i
max = 8 if max > 8
- xml = @bot.httputil.get(URI.parse("http://images.feedstermedia.com/feedcache/ostg/freshmeat/fm-releases-global.xml"))
- unless xml
- m.reply "freshmeat news parse failed"
- return
- end
- doc = Document.new xml
- unless doc
+ begin
+ xml = @bot.httputil.get(URI.parse("http://images.feedstermedia.com/feedcache/ostg/freshmeat/fm-releases-global.xml"))
+ unless xml
+ m.reply "freshmeat news parse failed"
+ return
+ end
+ doc = Document.new xml
+ unless doc
+ m.reply "freshmeat news parse failed"
+ return
+ end
+ rescue
m.reply "freshmeat news parse failed"
return
end
+
matches = Array.new
max_width = 60
title_width = 0
diff --git a/data/rbot/plugins/markov.rb b/data/rbot/plugins/markov.rb
index 6c51af51..e06753fa 100644
--- a/data/rbot/plugins/markov.rb
+++ b/data/rbot/plugins/markov.rb
@@ -50,7 +50,10 @@ class MarkovPlugin < Plugin
end
def ignore?(user=nil)
- return @registry['ignore_users'].include?(user)
+ @registry['ignore_users'].each do |mask|
+ return true if Irc.netmaskmatch mask, user
+ end
+ return false
end
def ignore(m, params)
@@ -154,7 +157,7 @@ class MarkovPlugin < Plugin
message = clean_str m.message
wordlist = message.split(/\s+/)
- return unless wordlist.length > 2
+ return unless wordlist.length >= 2
@lastline = message
word1, word2 = :nonword, :nonword
wordlist.each do |word3|
@@ -163,6 +166,7 @@ class MarkovPlugin < Plugin
end
@registry["#{word1}/#{word2}"] = [:nonword]
+ return if m.replied?
random_markov(m, message)
end
end
diff --git a/data/rbot/plugins/seen.rb b/data/rbot/plugins/seen.rb
index cc0c1792..aec5a064 100644
--- a/data/rbot/plugins/seen.rb
+++ b/data/rbot/plugins/seen.rb
@@ -79,7 +79,7 @@ class SeenPlugin < Plugin
when "JOIN"
ret += "joining #{saw.where}"
when "QUIT"
- ret += "quiting IRC (#{saw.message})"
+ ret += "quitting IRC (#{saw.message})"
when "TOPIC"
ret += "changing the topic of #{saw.where} to #{saw.message}"
end
diff --git a/lib/rbot/ircbot.rb b/lib/rbot/ircbot.rb
index ddc53d98..89037255 100644
--- a/lib/rbot/ircbot.rb
+++ b/lib/rbot/ircbot.rb
@@ -599,6 +599,8 @@ class IrcBot
debug "no PONG from server for #{diff} seconds, reconnecting"
begin
@socket.shutdown
+ # TODO
+ # raise an exception to get back to the mainloop
rescue
debug "couldn't shutdown connection (already shutdown?)"
end