summaryrefslogtreecommitdiff
path: root/data/rbot
diff options
context:
space:
mode:
Diffstat (limited to 'data/rbot')
-rw-r--r--data/rbot/contrib/plugins/stats.rb6
-rw-r--r--data/rbot/contrib/plugins/vandale.rb2
-rw-r--r--data/rbot/plugins/alias.rb8
-rw-r--r--data/rbot/plugins/bans.rb2
-rw-r--r--data/rbot/plugins/bash.rb4
-rw-r--r--data/rbot/plugins/cal.rb2
-rw-r--r--data/rbot/plugins/chucknorris.rb12
-rw-r--r--data/rbot/plugins/deepthoughts.rb2
-rw-r--r--data/rbot/plugins/dictclient.rb24
-rw-r--r--data/rbot/plugins/digg.rb6
-rw-r--r--data/rbot/plugins/fish.rb2
-rw-r--r--data/rbot/plugins/forecast.rb6
-rw-r--r--data/rbot/plugins/fortune.rb4
-rw-r--r--data/rbot/plugins/freshmeat.rb4
-rw-r--r--data/rbot/plugins/games/azgame.rb4
-rw-r--r--data/rbot/plugins/games/quiz.rb6
-rw-r--r--data/rbot/plugins/games/roshambo.rb2
-rw-r--r--data/rbot/plugins/games/roulette.rb8
-rw-r--r--data/rbot/plugins/games/shiritori.rb60
-rw-r--r--data/rbot/plugins/games/uno.rb4
-rwxr-xr-xdata/rbot/plugins/googlefight.rb18
-rw-r--r--data/rbot/plugins/imdb.rb2
-rw-r--r--data/rbot/plugins/insult.rb4
-rw-r--r--data/rbot/plugins/karma.rb2
-rw-r--r--data/rbot/plugins/linkbot.rb2
-rw-r--r--data/rbot/plugins/markov.rb6
-rw-r--r--data/rbot/plugins/math.rb6
-rw-r--r--data/rbot/plugins/modes.rb2
-rw-r--r--data/rbot/plugins/nickrecover.rb2
-rw-r--r--data/rbot/plugins/nickserv.rb8
-rw-r--r--data/rbot/plugins/nslookup.rb4
-rw-r--r--data/rbot/plugins/quakeauth.rb6
-rw-r--r--data/rbot/plugins/quotes.rb4
-rw-r--r--data/rbot/plugins/reaction.rb2
-rw-r--r--data/rbot/plugins/remind.rb4
-rw-r--r--data/rbot/plugins/ri.rb2
-rw-r--r--data/rbot/plugins/rss.rb8
-rw-r--r--data/rbot/plugins/salut.rb6
-rw-r--r--data/rbot/plugins/script.rb12
-rw-r--r--data/rbot/plugins/search.rb26
-rw-r--r--data/rbot/plugins/seen.rb16
-rw-r--r--data/rbot/plugins/shortenurls.rb2
-rw-r--r--data/rbot/plugins/slashdot.rb10
-rw-r--r--data/rbot/plugins/theyfightcrime.rb20
-rw-r--r--data/rbot/plugins/time.rb4
-rw-r--r--data/rbot/plugins/translator.rb4
-rw-r--r--data/rbot/plugins/tube.rb4
-rw-r--r--data/rbot/plugins/weather.rb8
-rw-r--r--data/rbot/plugins/wserver.rb10
49 files changed, 186 insertions, 186 deletions
diff --git a/data/rbot/contrib/plugins/stats.rb b/data/rbot/contrib/plugins/stats.rb
index 4cafbbe9..97f42bd3 100644
--- a/data/rbot/contrib/plugins/stats.rb
+++ b/data/rbot/contrib/plugins/stats.rb
@@ -19,10 +19,10 @@
class StatsPlugin < Plugin
- @@commands = {
+ @@commands = {
"stats" => "handle_stats",
"track" => "handle_track",
- "untrack" => "handle_untrack",
+ "untrack" => "handle_untrack",
"listtokens" => "handle_listtokens",
"rmabuser" => "handle_rmabuser"
}
@@ -61,7 +61,7 @@ class StatsPlugin < Plugin
m.reply "What a crazy fool! Did you mean |help stats?"
return
end
-
+
meth = self.method(@@commands[m.plugin])
meth.call(m)
end
diff --git a/data/rbot/contrib/plugins/vandale.rb b/data/rbot/contrib/plugins/vandale.rb
index 7b806c85..720fe762 100644
--- a/data/rbot/contrib/plugins/vandale.rb
+++ b/data/rbot/contrib/plugins/vandale.rb
@@ -16,7 +16,7 @@ class VanDalePlugin < Plugin
ret = Array.new
Utils.safe_exec("/usr/local/bin/gnuvd", m.params).each{|line| if line.length > 5 then ret << line end}
m.reply ret.delete_at(0)
- while ret[0] =~ /^[[:alpha:]_]*[0-9]/
+ while ret[0] =~ /^[[:alpha:]_]*[0-9]/
m.reply ret.delete_at(0)
end
while ret[0] =~ /^[0-9]/
diff --git a/data/rbot/plugins/alias.rb b/data/rbot/plugins/alias.rb
index 58d0ef01..89be0020 100644
--- a/data/rbot/plugins/alias.rb
+++ b/data/rbot/plugins/alias.rb
@@ -58,10 +58,10 @@ class AliasPlugin < Plugin
warning _("Invalid alias entry %{alias} : %{command} in %{filename}: %{reason}") %
{:alias => a, :command => c, :filename => @data_file, :reason => $1}
end
- end
- end
+ end
+ end
- def save
+ def save
FileUtils.mkdir_p(@data_path)
Utils.safe_save(@data_file) {|f| f.write @aliases.to_yaml}
end
@@ -110,7 +110,7 @@ class AliasPlugin < Plugin
command.scan(/<(\w+)>/).flatten.to_set ==
text.split.grep(/\A[:*](\w+)\Z/) {$1}.to_set or
raise AliasDefinitionError.new(_('The arguments in alias must match the substitutions in command, and vice versa'))
-
+
begin
map text, :action => :"alias_handle<#{text}>", :auth_path => 'run'
rescue
diff --git a/data/rbot/plugins/bans.rb b/data/rbot/plugins/bans.rb
index f80dd70f..99b664df 100644
--- a/data/rbot/plugins/bans.rb
+++ b/data/rbot/plugins/bans.rb
@@ -458,7 +458,7 @@ class BansPlugin < Plugin
when /^(\d+)m$/
timer = $1.to_i * 60
when /^(\d+)h$/
- timer = $1.to_i * 60 * 60
+ timer = $1.to_i * 60 * 60
when /^(\d+)d$/
timer = $1.to_i * 60 * 60 * 24
else
diff --git a/data/rbot/plugins/bash.rb b/data/rbot/plugins/bash.rb
index 16028356..8dac9671 100644
--- a/data/rbot/plugins/bash.rb
+++ b/data/rbot/plugins/bash.rb
@@ -172,7 +172,7 @@ class BashPlugin < Plugin
xml = @bot.httputil.get("http://bash.org/xml/?random&num=1", :cache => false)
else
xml = @bot.httputil.get("http://bash.org/xml/?" + id + "&num=1")
- end
+ end
unless xml
m.reply "bash.org rss parse failed"
@@ -184,7 +184,7 @@ class BashPlugin < Plugin
return
end
doc.elements.each("*/item") {|e|
- if(id != 0)
+ if(id != 0)
reply = e.elements["title"].text.gsub(/QDB: /,"") + " " + e.elements["link"].text.gsub(/QDB: /,"") + "\n"
reply = reply + e.elements["description"].text.gsub(/\<br \/\>/, "\n")
else
diff --git a/data/rbot/plugins/cal.rb b/data/rbot/plugins/cal.rb
index 9190f8e9..c649084a 100644
--- a/data/rbot/plugins/cal.rb
+++ b/data/rbot/plugins/cal.rb
@@ -6,7 +6,7 @@ class CalPlugin < Plugin
def help(plugin, topic="")
"cal [month year] => show current calendar [optionally specify month and year]"
end
-
+
def cal_path
@bot.config["cal.path"]
end
diff --git a/data/rbot/plugins/chucknorris.rb b/data/rbot/plugins/chucknorris.rb
index bf9d70f4..6b6c4f98 100644
--- a/data/rbot/plugins/chucknorris.rb
+++ b/data/rbot/plugins/chucknorris.rb
@@ -16,20 +16,20 @@ class ChuckNorrisPlugin < Plugin
else
raise "Error: Couldn't find chucknorris.yml[.gz]"
end
-
+
debug "+ [chucknorris] Loading #{path}..."
-
+
@@facts = YAML.load(fyml).map{|fact,(score,votes)| votes >= MIN_VOTES ? [score,fact] : nil}.compact
debug "+ [chucknorris] #{@@facts.length} Chuck Norris facts loaded..."
debug " Random fact: #{@@facts[rand(@@facts.size)].inspect}"
-
+
super
end
def name
"chucknorris"
end
-
+
# Just a little helper for the initialize method...
def find_facts_file(name)
full_path = File.join Config::datadir, "plugins", name
@@ -40,11 +40,11 @@ class ChuckNorrisPlugin < Plugin
found_files[0]
end
end
-
+
# HELP!
def help(plugin, topic="chuck")
"chuck|norris|chucknorris [min_rating] => show a random Chuck Norris fact (optional minimum rating from 1-10, default=6.0)."
- #\"fact [person]\" shows a fact about someone in the channel.
+ #\"fact [person]\" shows a fact about someone in the channel.
end
# The meat.
diff --git a/data/rbot/plugins/deepthoughts.rb b/data/rbot/plugins/deepthoughts.rb
index b1171bae..a6b4e80f 100644
--- a/data/rbot/plugins/deepthoughts.rb
+++ b/data/rbot/plugins/deepthoughts.rb
@@ -79,7 +79,7 @@ class DeepThoughts < Plugin
def help(plugin, topic="")
"deepthought => think a deep thought."
end
-
+
def deepthought(m, params)
m.reply THOUGHTS.pick_one
end
diff --git a/data/rbot/plugins/dictclient.rb b/data/rbot/plugins/dictclient.rb
index 5b3bc631..d7e5091c 100644
--- a/data/rbot/plugins/dictclient.rb
+++ b/data/rbot/plugins/dictclient.rb
@@ -77,11 +77,11 @@ class DictClientPlugin < Plugin
Config.register Config::StringValue.new('dictclient.match_format',
:default => '<matches>––<database>',
:desc => _('Format of match results. <matches> will be replaced with the formatted headwords, <database> with the formatted database name'))
-
+
def initialize
super
end
-
+
# create a DICT object, which is passed to the block. after the block finishes,
# the DICT object is automatically disconnected. the return value of the block
# is returned from this method.
@@ -104,15 +104,15 @@ class DictClientPlugin < Plugin
end
ret
end
-
+
def format_headword(w)
@bot.config['dictclient.headword_format'].gsub '<headword>', w
end
-
+
def format_database(d)
@bot.config['dictclient.database_format'].gsub '<database>', d
end
-
+
def cmd_define(m, params)
phrase = params[:phrase].to_s
results = with_dict(m) {|d| d.define(params[:database], params[:phrase])}
@@ -122,7 +122,7 @@ class DictClientPlugin < Plugin
# the number of definitions is above dictclient.max_defs_before_collapse
if results.any? {|r| r.database != results[0].database} &&
results.length > @bot.config['dictclient.max_defs_before_collapse']
- _("Many definitions for %{phrase} were found in %{databases}. Use 'define <phrase> from <database> to view a definition.") %
+ _("Many definitions for %{phrase} were found in %{databases}. Use 'define <phrase> from <database> to view a definition.") %
{ :phrase => format_headword(phrase),
:databases => results.collect {|r| r.database}.uniq.
collect {|d| format_database d}.join(', ') }
@@ -139,13 +139,13 @@ class DictClientPlugin < Plugin
}.join ' | '
end
else
- _("No definition for %{phrase} found from %{database}.") %
+ _("No definition for %{phrase} found from %{database}.") %
{ :phrase => format_headword(phrase),
:database => format_database(params[:database]) }
end
)
end
-
+
def cmd_match(m, params)
phrase = params[:phrase].to_s
results = with_dict(m) {|d| d.match(params[:database],
@@ -160,14 +160,14 @@ class DictClientPlugin < Plugin
)
}.join ' '
else
- _("Nothing matched %{query} from %{database} using %{strategy}") %
+ _("Nothing matched %{query} from %{database} using %{strategy}") %
{ :query => format_headword(phrase),
:database => format_database(params[:database]),
:strategy => params[:strategy] }
end
)
end
-
+
def cmd_databases(m, params)
with_dict(m) do |d|
m.reply _("Databases: %{list}") % {
@@ -175,7 +175,7 @@ class DictClientPlugin < Plugin
}
end
end
-
+
def cmd_strategies(m, params)
with_dict(m) do |d|
m.reply _("Strategies: %{list}") % {
@@ -183,7 +183,7 @@ class DictClientPlugin < Plugin
}
end
end
-
+
def help(plugin, topic='')
case topic
when 'define'
diff --git a/data/rbot/plugins/digg.rb b/data/rbot/plugins/digg.rb
index dc2e41cf..25962919 100644
--- a/data/rbot/plugins/digg.rb
+++ b/data/rbot/plugins/digg.rb
@@ -9,7 +9,7 @@ class DiggPlugin < Plugin
def help(plugin, topic="")
"digg [<max>=5] => show digg headlines, [<max>=5] => return up to <max> headlines (use a negative number to show all the headlines on one line)"
end
-
+
def digg(m, params)
max = params[:limit].to_i
debug "max is #{max}"
@@ -32,11 +32,11 @@ class DiggPlugin < Plugin
max = 8 if max > 8
matches = Array.new
doc.elements.each("rss/channel/item") {|e|
- matches << [ e.elements["title"].text,
+ matches << [ e.elements["title"].text,
Time.parse(e.elements["pubDate"].text).strftime('%a @ %I:%M%p') ]
done += 1
break if done >= max
- }
+ }
if oneline
m.reply matches.collect{|mat| mat[0]}.join(" | ")
else
diff --git a/data/rbot/plugins/fish.rb b/data/rbot/plugins/fish.rb
index 5b24d241..2394fa09 100644
--- a/data/rbot/plugins/fish.rb
+++ b/data/rbot/plugins/fish.rb
@@ -25,7 +25,7 @@ class BabelPlugin < Plugin
trans_from = params[:fromlang] ? params[:fromlang] : @bot.config['translate.default_from']
trans_to = params[:tolang] ? params[:tolang] : @bot.config['translate.default_to']
trans_text = params[:phrase].to_s
-
+
lang_match = langs.join("|")
unless(trans_from =~ /^(#{lang_match})$/ && trans_to =~ /^(#{lang_match})$/)
m.reply "invalid language: valid languagess are: #{langs.join(' ')}"
diff --git a/data/rbot/plugins/forecast.rb b/data/rbot/plugins/forecast.rb
index 1095886f..293c7c05 100644
--- a/data/rbot/plugins/forecast.rb
+++ b/data/rbot/plugins/forecast.rb
@@ -8,7 +8,7 @@
require 'soap/wsdlDriver'
# TODO why not use HttpUtil instead of open-uri?
-require 'open-uri'
+require 'open-uri'
require 'rexml/document'
require 'erb'
@@ -48,7 +48,7 @@ class Forecast
return parse(retrieve),Time.new
end
private
- def retrieve
+ def retrieve
forecast = @forecaster.NDFDgenByDay(
@lat,@long,Time.now.strftime("%Y-%m-%d"),2,"24 hourly")
(REXML::Document.new(forecast)).root
@@ -105,7 +105,7 @@ class ForecastPlugin < Plugin
end
end
end
-
+
def get_forecast(m,loc)
begin
@cache_mutex.synchronize do
diff --git a/data/rbot/plugins/fortune.rb b/data/rbot/plugins/fortune.rb
index 6612c111..3e2ffdf7 100644
--- a/data/rbot/plugins/fortune.rb
+++ b/data/rbot/plugins/fortune.rb
@@ -31,7 +31,7 @@ class FortunePlugin < Plugin
end
return nil unless fortune
-
+
# Try setting the config entry
config_par = {:key => 'fortune.path', :value => [fortune], :silent => true }
debug "Setting fortune.path to #{fortune}"
@@ -94,7 +94,7 @@ class FortunePlugin < Plugin
## say 'em!
m.reply "Fortune categories: #{categories.join ', '}"
end
-
+
end
plugin = FortunePlugin.new
plugin.map 'fortune categories', :action => "categories"
diff --git a/data/rbot/plugins/freshmeat.rb b/data/rbot/plugins/freshmeat.rb
index dce6c0d4..3ae887d1 100644
--- a/data/rbot/plugins/freshmeat.rb
+++ b/data/rbot/plugins/freshmeat.rb
@@ -88,7 +88,7 @@ class FreshmeatPlugin < Plugin
m.reply reply
}
end
-
+
def freshmeat(m, params)
max = params[:limit].to_i
max = 8 if max > 8
@@ -134,5 +134,5 @@ end
plugin = FreshmeatPlugin.new
plugin.map 'freshmeat search :limit *search', :action => 'search_freshmeat',
:defaults => {:limit => 4}, :requirements => {:limit => /^\d+$/}
-plugin.map 'freshmeat :limit', :defaults => {:limit => 4},
+plugin.map 'freshmeat :limit', :defaults => {:limit => 4},
:requirements => {:limit => /^\d+$/}
diff --git a/data/rbot/plugins/games/azgame.rb b/data/rbot/plugins/games/azgame.rb
index 6e2526e2..572684d9 100644
--- a/data/rbot/plugins/games/azgame.rb
+++ b/data/rbot/plugins/games/azgame.rb
@@ -355,10 +355,10 @@ class AzGamePlugin < Plugin
if wc[word].key?(:when)
tr = _("%{word} learned from %{user} on %{date}") % {:word => word, :user => wc[word][:who], :date => wc[word][:when]}
else
- tr = _("%{word} learned from %{user}") % {:word => word, :user => wc[word][:who]}
+ tr = _("%{word} learned from %{user}") % {:word => word, :user => wc[word][:who]}
end
m.reply tr
- when :delete
+ when :delete
if pars.empty?
m.reply _("provide a word")
return
diff --git a/data/rbot/plugins/games/quiz.rb b/data/rbot/plugins/games/quiz.rb
index 9159a4c4..ca2abf47 100644
--- a/data/rbot/plugins/games/quiz.rb
+++ b/data/rbot/plugins/games/quiz.rb
@@ -184,7 +184,7 @@ class QuizPlugin < Plugin
# (in quiz/) or web pages.
#
def fetch_data( m )
- # Read the winning messages file
+ # Read the winning messages file
@win_messages = Array.new
winfile = datafile 'win_messages'
if File.exists? winfile
@@ -339,7 +339,7 @@ class QuizPlugin < Plugin
end
end
- # If less than all other players' scores, append to table
+ # If less than all other players' scores, append to table
unless inserted
i += 1 unless q.rank_table.empty?
q.rank_table << [nick, stats]
@@ -370,7 +370,7 @@ class QuizPlugin < Plugin
message = m.message.downcase.strip
- nick = m.sourcenick.to_s
+ nick = m.sourcenick.to_s
# Support multiple alternate answers and cores
answer = q.answers.find { |ans| ans.valid?(message) }
diff --git a/data/rbot/plugins/games/roshambo.rb b/data/rbot/plugins/games/roshambo.rb
index 03338698..927b2f08 100644
--- a/data/rbot/plugins/games/roshambo.rb
+++ b/data/rbot/plugins/games/roshambo.rb
@@ -15,7 +15,7 @@ require 'time'
class RoshamboPlugin < Plugin
def initialize
- super
+ super
@scoreboard = {}
@beats = { :rock => :scissors, :paper => :rock, :scissors => :paper}
@plays = @beats.keys
diff --git a/data/rbot/plugins/games/roulette.rb b/data/rbot/plugins/games/roulette.rb
index adf755fd..6d834788 100644
--- a/data/rbot/plugins/games/roulette.rb
+++ b/data/rbot/plugins/games/roulette.rb
@@ -2,13 +2,13 @@ define_structure :RouletteHistory, :games, :shots, :deaths, :misses, :wins
class RoulettePlugin < Plugin
Config.register Config::BooleanValue.new('roulette.autospin',
- :default => true,
+ :default => true,
:desc => "Automatically spins the roulette at the butlast shot")
Config.register Config::BooleanValue.new('roulette.kick',
- :default => false,
+ :default => false,
:desc => "Kicks shot players from the channel")
Config.register Config::BooleanValue.new('roulette.twice_in_a_row',
- :default => false,
+ :default => false,
:desc => "Allow players to go twice in a row")
def initialize
@@ -174,7 +174,7 @@ class RoulettePlugin < Plugin
k = match[1]
total_players += 1
-
+
win_rate = v.wins.to_f / v.games * 100
if h_win_percent[0].nil? || win_rate > h_win_percent[1] && v.games > 2
h_win_percent = [[k], win_rate]
diff --git a/data/rbot/plugins/games/shiritori.rb b/data/rbot/plugins/games/shiritori.rb
index 0b77871e..92f4dda4 100644
--- a/data/rbot/plugins/games/shiritori.rb
+++ b/data/rbot/plugins/games/shiritori.rb
@@ -1,7 +1,7 @@
#-- vim:sw=2:et
#kate: indent-width 2
#++
-#
+#
# :title: Shiritori Plugin for RBot
#
# Author:: Yaohan Chen <yaohan.chen@gmail.com>
@@ -16,10 +16,10 @@
# players can interrupt a turn to join, or a free mode where anyone can speak at any
# time.
#
-# In Japanese mode, if present, the plugin can use normalize-japanese
+# In Japanese mode, if present, the plugin can use normalize-japanese
# <http://neruchan.mine.nu:60880/normalize-japanese.rb> to allow
# katakana words be used like hiragana.
-#
+#
# TODO
# * a system to describe settings, so they can be displayed, changed and saved
# * adjust settings during game
@@ -35,7 +35,7 @@ class Dictionary
def has_word?(s)
raise NotImplementedError
end
-
+
# whether any word starts with prefix, excluding words in excludes. This can be
# possible with non-enumerable dictionaries since some dictionary engines provide
# prefix searching.
@@ -51,12 +51,12 @@ class WordlistDictionary < Dictionary
@words = words
# debug "Created dictionary with #{@words.length} words"
end
-
+
# whether string s is a word
def has_word?(s)
@words.include? s
end
-
+
# whether any word starts with prefix, excluding words in excludes
def any_word_starting?(prefix, excludes)
# (@words - except).any? {|w| w =~ /\A#{prefix}.+/}
@@ -69,7 +69,7 @@ end
# whether it's possible to continue a word
class Shiritori
attr_reader :used_words
-
+
# dictionary:: a Dictionary object
# overlap_lengths:: a Range for allowed lengths to overlap when continuing words
# check_continuable:: whether all words are checked whether they're continuable,
@@ -82,7 +82,7 @@ class Shiritori
@allow_reuse = allow_reuse
@used_words = []
end
-
+
# Prefix of s with length n
def head_of(s, n)
# TODO ruby2 unicode
@@ -102,7 +102,7 @@ class Shiritori
def range_under(r, n)
r.begin .. [r.end, n-1].min
end
-
+
# TODO allow the ruleset to customize this
def continues?(w2, w1)
# this uses the definition w1[-n,n] == w2[0,n] && n < [w1.length, w2.length].min
@@ -110,7 +110,7 @@ class Shiritori
range_under(@overlap_lengths, [len(w1), len(w2)].min).any? {|n|
tail_of(w1, n)== head_of(w2, n)}
end
-
+
# Checks whether *any* unused word in the dictionary completes the word
# This has the limitation that it can't detect when a word is continuable, but the
# only continuers aren't continuable
@@ -118,8 +118,8 @@ class Shiritori
range_under(@overlap_lengths, len(s)).any? {|n|
@dictionary.any_word_starting?(tail_of(s, n), @used_words) }
end
-
- # Given a string, give a verdict based on current shiritori state and dictionary
+
+ # Given a string, give a verdict based on current shiritori state and dictionary
def process(s)
# TODO optionally allow used words
# TODO ruby2 unicode
@@ -167,14 +167,14 @@ class ShiritoriGame
@timer_handle = nil
@say = say
@when_die = when_die
-
+
# TODO allow other forms of dictionaries
dictionary = WordlistDictionary.new(@ruleset[:words])
@game = Shiritori.new(dictionary, @ruleset[:overlap_lengths],
@ruleset[:check_continuable],
@ruleset[:allow_reuse])
end
-
+
def say(s)
@say.call(s)
end
@@ -184,10 +184,10 @@ class ShiritoriGame
# * when time_limit > 0, new players can join at any time, but existing players must
# take turns, each of which expires after time_limit
# * when time_imit is 0, anyone can speak in the game at any time
- def take_turns?
+ def take_turns?
@players.length > 1 && @ruleset[:time_limit] > 0
end
-
+
# the player who has the current turn
def current_player
@players.first
@@ -200,7 +200,7 @@ class ShiritoriGame
def previous_word
@game.used_words[-2]
end
-
+
# announce the current word, and player if take_turns?
def announce
say(if take_turns?
@@ -237,13 +237,13 @@ class ShiritoriGame
end
announce
end
-
+
# handle when turn time limit goes out
def time_out
if @ruleset[:lose_when_timeout]
say _("%{player} took too long and is out of the game. Try again next game!") %
{ :player => current_player }
- if @players.length == 2
+ if @players.length == 2
# 2 players before, and one should remain now
# since the game is ending, save the trouble of removing and booting the player
say _("%{player} is the last remaining player and the winner! Congratulations!") %
@@ -269,12 +269,12 @@ class ShiritoriGame
def handle_message(m)
message = m.message
speaker = m.sourcenick.to_s
-
+
return unless @ruleset[:listen] =~ message
# in take_turns mode, only new players are allowed to interrupt a turn
return if @booted_players.include? speaker ||
- (take_turns? &&
+ (take_turns? &&
speaker != current_player &&
(@players.length > 1 && @players.include?(speaker)))
@@ -310,7 +310,7 @@ class ShiritoriGame
m.reply _("It's impossible to continue the chain from %{word}. Start with another word.") % {:word => message}
end
end
-
+
# end the game
def die
# redefine restart_timer to no-op
@@ -331,11 +331,11 @@ class ShiritoriPlugin < Plugin
_("A game in which each player must continue the previous player's word, by using its last one or few characters/letters of the word to start a new word. 'shiritori <ruleset>' => Play shiritori with a set of rules. Available rulesets: %{rulesets}. 'shiritori stop' => Stop the current shiritori game.") %
{:rulesets => @rulesets.keys.join(', ')}
end
-
+
def initialize()
super
@games = {}
-
+
# TODO make rulesets more easily customizable
# TODO initialize default ruleset from config
# Default values of rulesets
@@ -401,7 +401,7 @@ class ShiritoriPlugin < Plugin
end
return ruleset
end
-
+
# start shiritori in a channel
def cmd_shiritori(m, params)
if @games.has_key?( m.channel )
@@ -426,7 +426,7 @@ class ShiritoriPlugin < Plugin
end
end
end
-
+
# change rules for current game
def cmd_set(m, params)
require 'enumerator'
@@ -434,7 +434,7 @@ class ShiritoriPlugin < Plugin
params[:rules].each_slice(2) {|opt, value| new_rules[opt] = value}
raise NotImplementedError
end
-
+
# stop the current game
def cmd_stop(m, params)
if @games.has_key? m.channel
@@ -446,19 +446,19 @@ class ShiritoriPlugin < Plugin
m.reply _("No game to stop here, because no game is being played.")
end
end
-
+
# remove the game, so channel messages are no longer processed, and timer removed
def remove_game(channel)
@games.delete channel
end
-
+
# all messages from a channel is sent to its shiritori game if any
def message(m)
return unless @games.has_key?(m.channel)
# send the message to the game in the channel to handle it
@games[m.channel].handle_message m
end
-
+
# remove all games
def cleanup
@games.each_key {|g| g.die}
diff --git a/data/rbot/plugins/games/uno.rb b/data/rbot/plugins/games/uno.rb
index 5b2593ee..84420631 100644
--- a/data/rbot/plugins/games/uno.rb
+++ b/data/rbot/plugins/games/uno.rb
@@ -108,7 +108,7 @@ class UnoGame
@color = 'Wild'
raise if value and not value == '+4'
if value
- @value = value.dup
+ @value = value.dup
@shortform = 'w'+value
else
@value = nil
@@ -411,7 +411,7 @@ class UnoGame
# only be possible if the first W+4 was illegal, so it wouldn't
# apply for a W+4 played on a +2 anyway.
#
- if @picker == 0 and Wild === cards.first and cards.first.value
+ if @picker == 0 and Wild === cards.first and cards.first.value
# save the previous discard in case of challenge
@last_discard = @discard.dup
# save the color too, in case it was a Wild
diff --git a/data/rbot/plugins/googlefight.rb b/data/rbot/plugins/googlefight.rb
index 3f7cf5a1..0b9393ef 100755
--- a/data/rbot/plugins/googlefight.rb
+++ b/data/rbot/plugins/googlefight.rb
@@ -11,18 +11,18 @@ class GoogleFightPlugin < Plugin
def help(plugin, topic)
"googlefight <keyword 1> <keyword 2> [... <keyword n+1>] => battles given keywords based on amount of google search results and announces the winner!"
end
-
+
def fight(m, params)
keywords = parse_keywords(params)
return if keywords.nil?
-
+
keywords.map! do |k|
[k, google_count(k)]
end
-
+
m.reply output(keywords)
end
-
+
def output(result)
result = result.sort_by { |e| e[1] }.reverse
str = result.map do |kw|
@@ -31,26 +31,26 @@ class GoogleFightPlugin < Plugin
:count => kw[1].to_s.gsub(/(\d)(?=(\d\d\d)+(?!\d))/, "\\1,")
}
end.join(" vs. ")
-
+
unless result[0][1].zero?
str << _(" -- %{keyword} wins!") % {
:keyword => Bold+result[0][0]+Bold
}
else
str << _(" -- no winner here!")
- end
+ end
end
-
+
def parse_keywords(params)
str = params[:keywords].join(" ")
-
+
# foo "foo bar" bar
# no separators so assume they're all separate keywords
if str.match(/(?:"[\w\s]+"|\w+)(?: (?:"[\w\s]+"|\w+))+/)
str.scan(/"[^"]+"|\S+/).flatten
end
end
-
+
def google_count(query)
url = 'http://www.google.com/search?hl=en&safe=off&btnG=Search&q=' << CGI.escape(query)
html = Net::HTTP.get(URI.parse((url)))
diff --git a/data/rbot/plugins/imdb.rb b/data/rbot/plugins/imdb.rb
index bfe27369..f3e6504d 100644
--- a/data/rbot/plugins/imdb.rb
+++ b/data/rbot/plugins/imdb.rb
@@ -469,7 +469,7 @@ class ImdbPlugin < Plugin
end
# Find the movies with a participation of :who in the year :year
- # TODO: allow year to be either a year or a decade ('[in the] 1960s')
+ # TODO: allow year to be either a year or a decade ('[in the] 1960s')
#
def movies(m, params)
who = params[:who].to_s
diff --git a/data/rbot/plugins/insult.rb b/data/rbot/plugins/insult.rb
index 0c449654..993450a5 100644
--- a/data/rbot/plugins/insult.rb
+++ b/data/rbot/plugins/insult.rb
@@ -134,7 +134,7 @@ class InsultPlugin < Plugin
]
##
-# Amounts
+# Amounts
##
@@amt = [
"accumulation",
@@ -206,7 +206,7 @@ class InsultPlugin < Plugin
"cold sores",
"anal warts",
]
-
+
def help(plugin, topic="")
return "[msg]insult me|<person> => insult you or <person>. msginsult insults in private"
end
diff --git a/data/rbot/plugins/karma.rb b/data/rbot/plugins/karma.rb
index ad5f57a2..060e743e 100644
--- a/data/rbot/plugins/karma.rb
+++ b/data/rbot/plugins/karma.rb
@@ -55,7 +55,7 @@ class KarmaPlugin < Plugin
@registry[thing] = params[:val].to_i
karma(m, params)
end
-
+
def help(plugin, topic="")
"karma module: Listens to everyone's chat. <thing>++/<thing>-- => increase/decrease karma for <thing>, karma for <thing>? => show karma for <thing>, karmastats => show stats. Karma is a community rating system - only in-channel messages can affect karma and you cannot adjust your own."
end
diff --git a/data/rbot/plugins/linkbot.rb b/data/rbot/plugins/linkbot.rb
index 360735e9..b9e7f511 100644
--- a/data/rbot/plugins/linkbot.rb
+++ b/data/rbot/plugins/linkbot.rb
@@ -31,7 +31,7 @@ class LinkBot < Plugin
:desc => "List of regexp which match linkbot messages; each regexp needs to have three captures, which in order are the nickname of the original speaker, network, and original message",
:on_change => proc {|bot, v| bot.plugins['linkbot'].update_patterns})
# TODO use template strings instead of regexp for user friendliness
-
+
# Initialize the plugin
def initialize
super
diff --git a/data/rbot/plugins/markov.rb b/data/rbot/plugins/markov.rb
index 089d939d..dd66ae1d 100644
--- a/data/rbot/plugins/markov.rb
+++ b/data/rbot/plugins/markov.rb
@@ -197,7 +197,7 @@ class MarkovPlugin < Plugin
def chat(m, params)
line = generate_string(params[:seed1], params[:seed2])
if line != "#{params[:seed1]} #{params[:seed2]}"
- m.reply line
+ m.reply line
else
m.reply "I can't :("
end
@@ -221,7 +221,7 @@ class MarkovPlugin < Plugin
m.reply "I can't :("
end
end
-
+
def message(m)
return if ignore? m
@@ -231,7 +231,7 @@ class MarkovPlugin < Plugin
if m.action?
message = "#{m.sourcenick} #{message}"
end
-
+
@learning_queue.push message
random_markov(m, message) unless m.replied?
end
diff --git a/data/rbot/plugins/math.rb b/data/rbot/plugins/math.rb
index 9dd35c98..081c9c04 100644
--- a/data/rbot/plugins/math.rb
+++ b/data/rbot/plugins/math.rb
@@ -44,7 +44,7 @@ class MathPlugin < Plugin
val = Math.exp($2).to_s
expr.gsub!(/#{Regexp.escape exp}/, "+#{val}")
end
-
+
while expr =~ /^\s*(dec2hex\s*(\d+))\s*\?*/
exp = $1
val = sprintf("%x", $2)
@@ -56,13 +56,13 @@ class MathPlugin < Plugin
while expr =~ /(log\s*((\d+\.?\d*)|\d*\.?\d+))\s*/
exp = $1
res = $2
-
+
if res == 0
val = "Infinity"
else
val = Math.log(res).to_s
end
-
+
expr.gsub!(/#{Regexp.escape exp}/, "+#{val}")
end
diff --git a/data/rbot/plugins/modes.rb b/data/rbot/plugins/modes.rb
index 845c7434..0df78691 100644
--- a/data/rbot/plugins/modes.rb
+++ b/data/rbot/plugins/modes.rb
@@ -73,7 +73,7 @@ class ModesPlugin < Plugin
def do_mode(m, channel, user, mode)
unless channel
if m.private?
- target = user.nil? ? "you" : user
+ target = user.nil? ? "you" : user
m.reply "You should tell me where you want me to #{mode} #{target}."
return
else
diff --git a/data/rbot/plugins/nickrecover.rb b/data/rbot/plugins/nickrecover.rb
index ed3c8708..f0277cdf 100644
--- a/data/rbot/plugins/nickrecover.rb
+++ b/data/rbot/plugins/nickrecover.rb
@@ -11,7 +11,7 @@
# in case it couldn't be achieved.
class NickRecoverPlugin < Plugin
-
+
Config.register Config::IntegerValue.new('irc.nick_retry',
:default => 60, :valiedate => Proc.new { |v| v >= 0 },
:on_change => Proc.new do |bot, v|
diff --git a/data/rbot/plugins/nickserv.rb b/data/rbot/plugins/nickserv.rb
index 36333477..768840d3 100644
--- a/data/rbot/plugins/nickserv.rb
+++ b/data/rbot/plugins/nickserv.rb
@@ -20,7 +20,7 @@
# previously identified successfully
class NickServPlugin < Plugin
-
+
Config.register Config::StringValue.new('nickserv.name',
:default => "nickserv", :requires_restart => false,
:desc => _("Name of the nick server (all lowercase)"))
@@ -62,7 +62,7 @@ class NickServPlugin < Plugin
return _("nickserv listnicks: lists nicknames and associated password the bot knows about - you will need config level auth access to do this one and it will reply by privmsg only")
end
end
-
+
def genpasswd
return Irc::Bot::Auth.random_password
end
@@ -167,12 +167,12 @@ class NickServPlugin < Plugin
m.reply _("uh ... something went wrong ...")
end
end
-
+
def connect
@identified = false
do_identify
end
-
+
def nicktaken(nick)
if @registry.has_key?(nick)
ns_say "GHOST #{nick} #{@registry[nick]}"
diff --git a/data/rbot/plugins/nslookup.rb b/data/rbot/plugins/nslookup.rb
index 0f901017..a3402711 100644
--- a/data/rbot/plugins/nslookup.rb
+++ b/data/rbot/plugins/nslookup.rb
@@ -10,7 +10,7 @@ class DnsPlugin < Plugin
def help(plugin, topic="")
"dns <hostname|ip> => show local resolution results for hostname or ip address"
end
-
+
def name_to_ip(m, params)
begin
a = getaddresses(params[:host])
@@ -23,7 +23,7 @@ class DnsPlugin < Plugin
m.reply "#{params[:host]}: not found"
end
end
-
+
def ip_to_name(m, params)
begin
a = gethostname(params[:ip])
diff --git a/data/rbot/plugins/quakeauth.rb b/data/rbot/plugins/quakeauth.rb
index 40b91e11..c1a8f9c4 100644
--- a/data/rbot/plugins/quakeauth.rb
+++ b/data/rbot/plugins/quakeauth.rb
@@ -10,7 +10,7 @@
# Automatically auths with Q on QuakeNet servers
class QPlugin < Plugin
-
+
def help(plugin, topic="")
case topic
when ""
@@ -23,7 +23,7 @@ class QPlugin < Plugin
return "qauth register <email>: register with Q, an email on how to proceed will be sent to the email address you provide"
end
end
-
+
def initialize
super
# this plugin only wants to store strings!
@@ -43,7 +43,7 @@ class QPlugin < Plugin
@registry['quakenet.auth'] = params[:password]
m.okay
end
-
+
def connect
identify(nil, {}) if on_quakenet?
end
diff --git a/data/rbot/plugins/quotes.rb b/data/rbot/plugins/quotes.rb
index 2a646789..a18f1eba 100644
--- a/data/rbot/plugins/quotes.rb
+++ b/data/rbot/plugins/quotes.rb
@@ -37,7 +37,7 @@ class QuotePlugin < Plugin
if @changed[channel]
debug "Writing new quotefile for channel #{channel} ..."
Utils.safe_save(datafile channel) {|file|
- quotes.compact.each {|q|
+ quotes.compact.each {|q|
file.puts "#{q.num} | #{q.date} | #{q.source} | #{q.quote}"
}
}
@@ -65,7 +65,7 @@ class QuotePlugin < Plugin
def addquote(source, channel, quote)
@lists[channel] = Array.new if(!@lists.has_key?(channel))
- num = @lists[channel].length
+ num = @lists[channel].length
@lists[channel][num] = Quote.new(num, Time.new, source.fullform, quote)
@changed[channel] = true
return num
diff --git a/data/rbot/plugins/reaction.rb b/data/rbot/plugins/reaction.rb
index ee338e2d..55fabcdb 100644
--- a/data/rbot/plugins/reaction.rb
+++ b/data/rbot/plugins/reaction.rb
@@ -207,7 +207,7 @@ class ReactionPlugin < Plugin
"between 0 and 1 (i.e. 0% and 100%). A reaction can have multiple replies, each with a different chance; if the total of the chances is less than one, " +
"there is a chance that the trigger will not actually cause a reply. Otherwise, the chances express the relative frequency of the replies."
when :trigger, :triggers
- "reaction triggers can have one of the format: single_word 'multiple words' \"multiple words \" /regular_expression/ !regular_expression!. " +
+ "reaction triggers can have one of the format: single_word 'multiple words' \"multiple words \" /regular_expression/ !regular_expression!. " +
"If prefixed by 'act:' (e.g. act:/(order|command)s/) the bot will only respond if a CTCP ACTION matches the trigger"
when :reply, :replies
"reaction replies are simply messages that the bot will reply when a trigger is matched. " +
diff --git a/data/rbot/plugins/remind.rb b/data/rbot/plugins/remind.rb
index e3f248ef..804e3f0b 100644
--- a/data/rbot/plugins/remind.rb
+++ b/data/rbot/plugins/remind.rb
@@ -203,11 +203,11 @@ class RemindPlugin < Plugin
end
def no_more(m, params)
who = params.has_key?(:who) ? params[:who] : m.sourcenick
- deleted = params.has_key?(:string) ?
+ deleted = params.has_key?(:string) ?
del_reminder(who, params[:string].to_s) : del_reminder(who)
if deleted
m.okay
- else
+ else
m.reply "but I wasn't going to :/"
end
end
diff --git a/data/rbot/plugins/ri.rb b/data/rbot/plugins/ri.rb
index 763dd658..abecb6ec 100644
--- a/data/rbot/plugins/ri.rb
+++ b/data/rbot/plugins/ri.rb
@@ -52,7 +52,7 @@ class RiPlugin < Plugin
return m.reply("failed to execute ri")
end
ret = ret.gsub(/\t/, " ").split(/\n/).join(" ").gsub(/\s\s+/, ' ')
-
+
if ret.length > @bot.config['ri.max_length']
if !m.private? && tgt.to_s != m.sourcenick
return m.reply('entry is too long to send to the channel or to some other user, use /msg to ask me about it')
diff --git a/data/rbot/plugins/rss.rb b/data/rbot/plugins/rss.rb
index 885ae248..bfc700d3 100644
--- a/data/rbot/plugins/rss.rb
+++ b/data/rbot/plugins/rss.rb
@@ -16,7 +16,7 @@
require 'rss'
-# Try to load rss/content/2.0 so we can access the data in <content:encoded>
+# Try to load rss/content/2.0 so we can access the data in <content:encoded>
# tags.
begin
require 'rss/content/2.0'
@@ -293,7 +293,7 @@ class RSSFeedsPlugin < Plugin
# Make an 'unique' ID for a given item, based on appropriate bot options
# Currently only suppored is bot.config['rss.show_updated']: when false,
# only the guid/link is accounted for.
-
+
def make_uid(item)
uid = [item.guid! || item.link!]
if @bot.config['rss.show_updated']
@@ -1018,7 +1018,7 @@ class RSSFeedsPlugin < Plugin
else
date = item.source.updated.content.to_s
end
- elsif item.respond_to?(:pubDate)
+ elsif item.respond_to?(:pubDate)
if item.pubDate.class <= Time
date = item.pubDate.strftime("%Y/%m/%d %H:%M")
else
@@ -1055,7 +1055,7 @@ class RSSFeedsPlugin < Plugin
desc_opt[:limit] = @bot.config['rss.text_max']
desc_opt[:a_href] = :link_out if @bot.config['rss.show_links']
- # We prefer content_encoded here as it tends to provide more html formatting
+ # We prefer content_encoded here as it tends to provide more html formatting
# for use with ircify_html.
if item.respond_to?(:content_encoded) && item.content_encoded
desc = item.content_encoded.ircify_html(desc_opt)
diff --git a/data/rbot/plugins/salut.rb b/data/rbot/plugins/salut.rb
index e80a02b0..1c552aab 100644
--- a/data/rbot/plugins/salut.rb
+++ b/data/rbot/plugins/salut.rb
@@ -15,12 +15,12 @@
class SalutPlugin < Plugin
Config.register Config::BooleanValue.new('salut.all_languages',
- :default => true,
+ :default => true,
:desc => "Check for a salutation in all languages and not just in the one defined by core.language",
:on_change => Proc.new {|bot, v| bot.plugins['salut'].reload}
)
Config.register Config::BooleanValue.new('salut.address_only',
- :default => true,
+ :default => true,
:desc => "When set to true, the bot will only reply to salutations directed at him",
:on_change => Proc.new {|bot, v| bot.plugins['salut'].reload}
)
@@ -113,7 +113,7 @@ class SalutPlugin < Plugin
return unless salut
# If the bot wasn't addressed, we continue only if the match was exact
# (apart from space and punctuation) or if @match[:dest] matches too
- return unless to_me or m.message =~ /^#{@punct}#{salut.first}#{@punct}$/ or m.message =~ @match[salut[1]][:dest]
+ return unless to_me or m.message =~ /^#{@punct}#{salut.first}#{@punct}$/ or m.message =~ @match[salut[1]][:dest]
h = Time.new.hour
case h
when 4...12
diff --git a/data/rbot/plugins/script.rb b/data/rbot/plugins/script.rb
index 849783b8..0923dd5d 100644
--- a/data/rbot/plugins/script.rb
+++ b/data/rbot/plugins/script.rb
@@ -11,7 +11,7 @@
#
# Scripts are little Ruby programs that run in the context of the script
# plugin. You can create them directly in an IRC channel, and invoke them just
-# like normal rbot plugins.
+# like normal rbot plugins.
define_structure :Command, :code, :nick, :created, :channel
@@ -64,8 +64,8 @@ class ScriptPlugin < Plugin
# Convenience variables, can be accessed by scripts:
args = m.message.split
- args.delete_at( 0 )
- user = args.empty? ? m.sourcenick : args.first
+ args.delete_at( 0 )
+ user = args.empty? ? m.sourcenick : args.first
Thread.start {
# TODO allow different safe levels for different botusers
@@ -152,7 +152,7 @@ class ScriptPlugin < Plugin
def handle_add_force( m, params )
handle_add( m, params, true )
end
-
+
def handle_del( m, params )
name = params[:name]
@@ -176,9 +176,9 @@ class ScriptPlugin < Plugin
page = params[:page].to_i
page = [page, 1].max
page = [page, num_pages].min
- str = cmds[(page-1)*cmds_per_page, cmds_per_page].join(', ')
+ str = cmds[(page-1)*cmds_per_page, cmds_per_page].join(', ')
- m.reply "Available scripts (page #{page}/#{num_pages}): #{str}"
+ m.reply "Available scripts (page #{page}/#{num_pages}): #{str}"
end
diff --git a/data/rbot/plugins/search.rb b/data/rbot/plugins/search.rb
index dc0c2ca9..a7ac64cb 100644
--- a/data/rbot/plugins/search.rb
+++ b/data/rbot/plugins/search.rb
@@ -113,7 +113,7 @@ class SearchPlugin < Plugin
def gcalc(m, params)
what = params[:words].to_s
searchfor = CGI.escape(what)
-
+
debug "Getting gcalc thing: #{searchfor.inspect}"
url = GOOGLE_SEARCH + searchfor
@@ -125,24 +125,24 @@ class SearchPlugin < Plugin
end
debug "#{html.size} bytes of html recieved"
-
+
results = html.scan(GOOGLE_CALC_RESULT)
debug "results: #{results.inspect}"
-
+
if results.length != 1
m.reply "couldn't calculate #{what}"
return
end
-
+
result = results[0][0].ircify_html
debug "replying with: #{result.inspect}"
m.reply "#{result}"
end
-
+
def gcount(m, params)
what = params[:words].to_s
searchfor = CGI.escape(what)
-
+
debug "Getting gcount thing: #{searchfor.inspect}"
url = GOOGLE_SEARCH + searchfor
@@ -154,15 +154,15 @@ class SearchPlugin < Plugin
end
debug "#{html.size} bytes of html recieved"
-
+
results = html.scan(GOOGLE_COUNT_RESULT)
debug "results: #{results.inspect}"
-
+
if results.length != 1
m.reply "couldn't count #{what}"
return
end
-
+
result = results[0][0].ircify_html
debug "replying with: #{result.inspect}"
m.reply "total results: #{result}"
@@ -172,7 +172,7 @@ class SearchPlugin < Plugin
def gdef(m, params)
what = params[:words].to_s
searchfor = CGI.escape("define " + what)
-
+
debug "Getting gdef thing: #{searchfor.inspect}"
url = GOOGLE_WAP_SEARCH + searchfor
@@ -186,12 +186,12 @@ class SearchPlugin < Plugin
debug html
results = html.scan(GOOGLE_DEF_RESULT)
debug "results: #{results.inspect}"
-
+
if results.length != 1
m.reply "couldn't find a definition for #{what} on Google"
return
end
-
+
head = results[0][0].ircify_html
text = results[0][1].ircify_html
link = results[0][2]
@@ -224,7 +224,7 @@ plugin = SearchPlugin.new
plugin.map "search *words", :action => 'google', :threaded => true
plugin.map "google *words", :action => 'google', :threaded => true
-plugin.map "gcount *words", :action => 'gcount', :threaded => true
+plugin.map "gcount *words", :action => 'gcount', :threaded => true
plugin.map "gcalc *words", :action => 'gcalc', :threaded => true
plugin.map "gdef *words", :action => 'gdef', :threaded => true
plugin.map "wp :lang *words", :action => 'wikipedia', :requirements => { :lang => /^\w\w\w?$/ }, :threaded => true
diff --git a/data/rbot/plugins/seen.rb b/data/rbot/plugins/seen.rb
index ccfdb726..1483062c 100644
--- a/data/rbot/plugins/seen.rb
+++ b/data/rbot/plugins/seen.rb
@@ -11,7 +11,7 @@ class SeenPlugin < Plugin
def help(plugin, topic="")
"seen <nick> => have you seen, or when did you last see <nick>"
end
-
+
def privmsg(m)
unless(m.params =~ /^(\S)+$/)
m.reply "incorrect usage: " + help(m.plugin)
@@ -39,7 +39,7 @@ class SeenPlugin < Plugin
m.target.to_s, m.message.dup)
when QuitMessage
return if m.address?
- @registry[m.sourcenick] = Saw.new(m.sourcenick.dup, now, "QUIT",
+ @registry[m.sourcenick] = Saw.new(m.sourcenick.dup, now, "QUIT",
nil, m.message.dup)
when NickMessage
return if m.address?
@@ -48,23 +48,23 @@ class SeenPlugin < Plugin
@registry[m.newnick] = saw
when PartMessage
return if m.address?
- @registry[m.sourcenick] = Saw.new(m.sourcenick.dup, Time.new, "PART",
+ @registry[m.sourcenick] = Saw.new(m.sourcenick.dup, Time.new, "PART",
m.target.to_s, m.message.dup)
when JoinMessage
return if m.address?
- @registry[m.sourcenick] = Saw.new(m.sourcenick.dup, Time.new, "JOIN",
+ @registry[m.sourcenick] = Saw.new(m.sourcenick.dup, Time.new, "JOIN",
m.target.to_s, m.message.dup)
when TopicMessage
return if m.address? or m.info_or_set == :info
- @registry[m.sourcenick] = Saw.new(m.sourcenick.dup, Time.new, "TOPIC",
+ @registry[m.sourcenick] = Saw.new(m.sourcenick.dup, Time.new, "TOPIC",
m.target.to_s, m.message.dup)
end
end
-
+
def seen(saw)
ret = "#{saw.nick} was last seen "
ago = Time.new - saw.time
-
+
if (ago.to_i == 0)
ret << "just now, "
else
@@ -88,7 +88,7 @@ class SeenPlugin < Plugin
ret << "changing the topic of #{saw.where} to #{saw.message}"
end
end
-
+
end
plugin = SeenPlugin.new
plugin.register("seen")
diff --git a/data/rbot/plugins/shortenurls.rb b/data/rbot/plugins/shortenurls.rb
index 7eeb005f..3aee6f4d 100644
--- a/data/rbot/plugins/shortenurls.rb
+++ b/data/rbot/plugins/shortenurls.rb
@@ -15,7 +15,7 @@ require "shorturl"
require "uri"
class ShortenURLs < Plugin
- # starting from about shorturl 0.8.4, the WWW module is not defined
+ # starting from about shorturl 0.8.4, the WWW module is not defined
include WWW rescue nil
Config.register Config::ArrayValue.new('shortenurls.services_blacklist',
diff --git a/data/rbot/plugins/slashdot.rb b/data/rbot/plugins/slashdot.rb
index 5b3c2f3b..69f1566f 100644
--- a/data/rbot/plugins/slashdot.rb
+++ b/data/rbot/plugins/slashdot.rb
@@ -62,7 +62,7 @@ class SlashdotPlugin < Plugin
@bot.register_filter(:slashdot, :htmlinfo) { |s| slashdot_filter(s) }
end
end
-
+
def search_slashdot(m, params)
max = params[:limit].to_i
search = params[:search].to_s
@@ -99,7 +99,7 @@ class SlashdotPlugin < Plugin
m.reply "search for #{search} failed"
end
end
-
+
def slashdot(m, params)
debug params.inspect
max = params[:limit].to_i
@@ -123,12 +123,12 @@ class SlashdotPlugin < Plugin
max = 8 if max > 8
matches = Array.new
doc.elements.each("*/story") {|e|
- matches << [ e.elements["title"].text,
- e.elements["author"].text,
+ matches << [ e.elements["title"].text,
+ e.elements["author"].text,
e.elements["time"].text.gsub(/\d{4}-(\d{2})-(\d{2})/, "\\2/\\1").gsub(/:\d\d$/, "") ]
done += 1
break if done >= max
- }
+ }
if oneline
m.reply matches.collect{|mat| mat[0]}.join(" | ")
else
diff --git a/data/rbot/plugins/theyfightcrime.rb b/data/rbot/plugins/theyfightcrime.rb
index e0a29013..866c0600 100644
--- a/data/rbot/plugins/theyfightcrime.rb
+++ b/data/rbot/plugins/theyfightcrime.rb
@@ -1,21 +1,21 @@
HE = [
['a superhumanly strong','an underprivileged','a globe-trotting','an impetuous','a shy','a suave','a notorious','a one-legged','an all-American','a short-sighted','an otherworldly','a hate-fuelled','a scrappy','an unconventional','a jaded','a leather-clad','a fiendish','a Nobel prize-winning','a suicidal','a maverick','a bookish','an old-fashioned','a witless','a lounge-singing','a war-weary','a scarfaced','a gun-slinging','an obese','a time-tossed','a benighted','an uncontrollable','an immortal','an oversexed','a world-famous','an ungodly','a fast talking','a deeply religious','a lonely','a sword-wielding','a genetically engineered'],
-
+
['white trash','zombie','shark-wrestling','playboy','guitar-strumming','Jewish',
'sweet-toothed','bohemian','crooked','chivalrous','moralistic','amnesiac','devious','drug-addicted',
'voodoo','Catholic','overambitious','coffee-fuelled','pirate','misogynist','skateboarding',
'arachnophobic','Amish','small-town','Republican','one-eyed','gay','guerilla','vegetarian',
'dishevelled','alcoholic','flyboy','ninja','albino','hunchbacked','neurotic','umbrella-wielding',
'native American','soccer-playing','day-dreaming'],
-
+
['grifter','stage actor','paramedic','gentleman spy','jungle king','hairdresser',
'photographer','ex-con','vagrant','filmmaker','werewolf','senator','romance novelist','shaman','cop',
'rock star','farmboy','cat burglar','cowboy','cyborg','inventor','assassin','boxer','dog-catcher',
'master criminal','gangster','firefighter','househusband','dwarf','librarian','paranormal investigator',
'Green Beret','waffle chef','vampire hunter','messiah','astronaut','sorceror','card sharp','matador',
'barbarian'],
-
+
['with a robot buddy named Sparky','whom everyone believes is mad','gone bad',
'with a mysterious suitcase handcuffed to his arm','living undercover at Ringling Bros. Circus',
'searching for his wife''s true killer','who dotes on his loving old ma','looking for ''the Big One''',
@@ -42,19 +42,19 @@ SHE = [
'a plucky','a sarcastic','a psychotic','a hard-bitten','a manipulative','an orphaned','a cosmopolitan',
'a chain-smoking','a cold-hearted','a warm-hearted','a sharp-shooting','an enchanted','a wealthy','a pregnant',
'a mentally unstable','a virginal','a brilliant','a disco-crazy','a provocative','an artistic'],
-
+
['tempestuous', 'Buddhist', 'foul-mouthed', 'nymphomaniac', 'green-skinned', 'impetuous', 'African-American','punk','hypochondriac','junkie','blonde','goth','insomniac','gypsy','mutant','renegade', 'tomboy','French-Canadian','motormouth','belly-dancing','communist','hip-hop','thirtysomething',
'cigar-chomping','extravagent','out-of-work','Bolivian','mute','cat-loving','snooty','wisecracking',
'red-headed','winged','kleptomaniac','antique-collecting','psychic','gold-digging','bisexual','paranoid',
'streetsmart'],
-
+
['archaeologist','pearl diver','mechanic','detective','hooker','femme fatale',
'former first lady','barmaid','fairy princess','magician''s assistant','schoolgirl','college professor',
'angel','bounty hunter','opera singer','cab driver','soap star','doctor','politician','lawyer','nun',
'snake charmer','journalist','bodyguard','vampire','stripper','Valkyrie','wrestler','mermaid','single mother',
'safe cracker','traffic cop','research scientist','queen of the dead','Hell''s Angel','museum curator',
'advertising executive','widow','mercenary','socialite'],
-
+
['on her way to prison for a murder she didn''t commit','trying to make a difference in a man''s world',
'with the soul of a mighty warrior','looking for love in all the wrong places','with an MBA from Harvard',
'who hides her beauty behind a pair of thick-framed spectacles','with the power to see death',
@@ -80,14 +80,14 @@ TITLE = [
'BLOOD', 'HARD', 'STEEL', 'TERMINAL', 'HOT', 'COLD', 'TOTAL', 'PROGNOSIS:',
'BURNING', 'FAST', 'PAINFUL', 'MISSION:', 'DEADLY', 'PARTIAL',
'RAGING', 'CORDIAL'],
-
+
['DECISION', 'INCISION', 'CONCLUSION',
'CONCUSSION', 'HEAT', 'FIRE', 'RECOIL', 'INSTINCT', 'DESIRE', 'WEAPON',
'BADGE', 'DEED', 'JUSTICE', 'HEAT', 'VENGEANCE', 'RECESSION', 'COMBUSTION',
'JUDGEMENT', 'WARNING', 'AWAKENING', 'JURISDICTION', 'BASIS', 'FINDINGS',
'INJECTION', 'REJECTION', 'REMISSION', 'DIGESTION', 'IDENTITY',
'DISPERSION'],
-
+
['II','III','IV','V','VI','VII','VIII','IX','X','XI','XII','XIII','XIV','XV','XVI','XVII','XVIII','XIX']
]
@@ -96,11 +96,11 @@ class TheyFightCrime < Plugin
def help(plugin, topic="")
"movieplot => generate a random movie scenario. movietitle => generate a random movie title."
end
-
+
def get_random_things(thing_array)
thing_array.map { |things| things.pick_one }
end
-
+
def movieplot(m, params)
he_things = get_random_things(HE)
she_things = get_random_things(SHE)
diff --git a/data/rbot/plugins/time.rb b/data/rbot/plugins/time.rb
index 4e7543c8..190abd6a 100644
--- a/data/rbot/plugins/time.rb
+++ b/data/rbot/plugins/time.rb
@@ -45,13 +45,13 @@ class TimePlugin < Plugin
end
['/', '_'].each { |sp|
arr = Array.new
- zone.split(sp).each{ |s|
+ zone.split(sp).each{ |s|
s[0] = s[0,1].upcase
s[1, s.length] = s[1, s.length].downcase if sp == '/'
arr.push(s) }
zone = arr.join( sp )
}
-
+
tz = TZInfo::Timezone.get( zone )
"#{tz.friendly_identifier} - #{tz.now.strftime( '%a %b %d %H:%M' )} #{tz.current_period.abbreviation}"
end
diff --git a/data/rbot/plugins/translator.rb b/data/rbot/plugins/translator.rb
index ad9c431c..0e09cb48 100644
--- a/data/rbot/plugins/translator.rb
+++ b/data/rbot/plugins/translator.rb
@@ -39,7 +39,7 @@ class Translator
@cache = cache
end
-
+
# whether the translator supports this direction
def support?(from, to)
from != to && @directions[from].include?(to)
@@ -316,7 +316,7 @@ class TranslatorPlugin < Plugin
end
def update_default
- @default_translators = bot.config['translator.default_list'] & @translators.keys
+ @default_translators = bot.config['translator.default_list'] & @translators.keys
end
def cmd_translator(m, params)
diff --git a/data/rbot/plugins/tube.rb b/data/rbot/plugins/tube.rb
index 13805502..bbae5c59 100644
--- a/data/rbot/plugins/tube.rb
+++ b/data/rbot/plugins/tube.rb
@@ -5,7 +5,7 @@ class TubePlugin < Plugin
def help(plugin, topic="")
"tube [district|circle|metropolitan|central|jubilee|bakerloo|waterlooandcity|hammersmithandcity|victoria|eastlondon|northern|piccadilly] => display tube service status for the specified line(Docklands Light Railway is not currently supported)" # , tube stations => list tube stations (not lines) with problems"
end
-
+
def tube(m, params)
line = params[:line]
tube_page = @bot.httputil.get('http://www.tfl.gov.uk/tfl/livetravelnews/realtime/tube/default.html')
@@ -45,7 +45,7 @@ class TubePlugin < Plugin
stations_array.push $1
end
}
- if stations_array.empty?
+ if stations_array.empty?
m.reply "There are no station-specific announcements"
return
else
diff --git a/data/rbot/plugins/weather.rb b/data/rbot/plugins/weather.rb
index 5da949e4..d8f7579c 100644
--- a/data/rbot/plugins/weather.rb
+++ b/data/rbot/plugins/weather.rb
@@ -71,18 +71,18 @@ class WeatherPlugin < Plugin
Config.register Config::BooleanValue.new('weather.advisory',
:default => true,
:desc => "Should the bot report special weather advisories when any is present?")
-
+
def help(plugin, topic="")
case topic
when "nws"
"weather nws <station> => display the current conditions at the location specified by the NOAA National Weather Service station code <station> ( lookup your station code at http://www.nws.noaa.gov/data/current_obs/ )"
when "station", "wu"
- "weather [<units>] <location> => display the current conditions at the location specified, looking it up on the Weather Underground site; you can use 'station <code>' to look up data by station code ( lookup your station code at http://www.weatherunderground.com/ ); you can optionally set <units> to 'metric' or 'english' if you only want data with the units; use 'both' for units to go back to having both."
+ "weather [<units>] <location> => display the current conditions at the location specified, looking it up on the Weather Underground site; you can use 'station <code>' to look up data by station code ( lookup your station code at http://www.weatherunderground.com/ ); you can optionally set <units> to 'metric' or 'english' if you only want data with the units; use 'both' for units to go back to having both."
else
"weather information lookup. Looks up weather information for the last location you specified. See topics 'nws' and 'wu' for more information"
end
end
-
+
def initialize
super
@@ -91,7 +91,7 @@ class WeatherPlugin < Plugin
@wu_url = "http://mobile.wunderground.com/cgi-bin/findweather/getForecast?brand=mobile%s&query=%s"
@wu_station_url = "http://mobile.wunderground.com/auto/mobile%s/global/stations/%s.html"
end
-
+
def weather(m, params)
if params[:where].empty?
if @registry.has_key?(m.sourcenick)
diff --git a/data/rbot/plugins/wserver.rb b/data/rbot/plugins/wserver.rb
index a888ad0c..b9260170 100644
--- a/data/rbot/plugins/wserver.rb
+++ b/data/rbot/plugins/wserver.rb
@@ -12,20 +12,20 @@ class WserverPlugin < Plugin
m.reply "cowardly refusing to follow more than 3 redirects"
return
end
-
+
begin
uri = URI.parse(hostname)
rescue URI::InvalidURIError => err
m.reply "#{hostname} is not a valid URI"
return
end
-
+
unless(uri)
m.reply "incorrect usage: " + help(m.plugin)
return
end
-
-
+
+
resp = @bot.httputil.head(uri)
server = resp['Server']
if(server && server.length > 0)
@@ -34,7 +34,7 @@ class WserverPlugin < Plugin
m.reply "couldn't tell what #{uri.host} is running"
end
- if(resp.code == "302" || resp.code == "301")
+ if(resp.code == "302" || resp.code == "301")
newloc = resp['location']
newuri = URI.parse(newloc)
# detect and ignore incorrect redirects (to relative paths etc)