summaryrefslogtreecommitdiff
path: root/data/rbot/plugins/threat.rb
blob: dacd10584dd839ff545b8820dc01e6dc4627aa34 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# Security threat level plugin for rbot
# by Robin Kearney (robin@riviera.org.uk)
#
# inspired by elliots fascination with the us
# threat level.
#
# again a dirty hack but it works, just...
#

require 'uri/common'

class ThreatPlugin < Plugin

  def help(plugin, topic="")
    "threat => prints out the current threat level as reported by http://www.dhs.gov/"
  end

  def privmsg(m)
    color = ""
    red = "\x0304" # severe
    orange = "\x0307" # high
    yellow = "\x0308" # elevated
    blue = "\x0312" # guarded
    green = "\x0303" # low
    black = "\x0301" # default

    page = @bot.httputil.get("http://www.dhs.gov/index.shtm")

    if page =~ /\"Current National Threat Level is (.*?)\"/
      state = $1
      case state
      when "severe"
        color = red
      when "high"
        color = orange
      when "elevated"
        color = yellow
      when "guarded"
        color = blue
      when "low"
        color = green
      else
        color = black
      end

      m.reply color + "Today " + m.sourcenick + " the threat level is " + state.capitalize
    else
      m.reply "I was unable to retrieve the threat level"
    end

    return
  end

end
plugin = ThreatPlugin.new
plugin.register("threat")