]> git.netwichtig.de Git - user/henk/code/ruby/rbot.git/blobdiff - lib/rbot/core/config.rb
config botmodule: support CTCP commands VERSION and SOURCE
[user/henk/code/ruby/rbot.git] / lib / rbot / core / config.rb
index 30d90c7364b46e7fa4726e98ca1335f53a7e65ad..717408a23e286d215f88ee91672467a165468186 100644 (file)
@@ -9,6 +9,14 @@
 \r
 class ConfigModule < CoreBotModule\r
 \r
+  def version_string\r
+    _("I'm a v. %{version} rubybot%{copyright}%{url}") % {\r
+      :version => $version,\r
+      :copyright => ", #{Irc::Bot::COPYRIGHT_NOTICE}",\r
+      :url => " - #{Irc::Bot::SOURCE_URL}"\r
+    }\r
+  end\r
+\r
   def save\r
     @bot.config.save\r
   end\r
@@ -51,7 +59,6 @@ class ConfigModule < CoreBotModule
     unless @bot.config.items.has_key?(key)\r
       m.reply _("no such config key %{key}") % {:key => key}\r
     end\r
-    puts @bot.config.items[key].inspect\r
     m.reply "#{key}: #{@bot.config.items[key].desc}"\r
   end\r
 \r
@@ -168,7 +175,19 @@ class ConfigModule < CoreBotModule
   #  end\r
 \r
   def bot_version(m, param)\r
-    m.reply _("I'm a v. %{version} rubybot, (c) Tom Gilbert and the rbot development team - http://linuxbrit.co.uk/rbot/") % {:version => $version}\r
+    m.reply version_string\r
+  end\r
+\r
+  def ctcp_listen(m)\r
+    who = m.private? ? "me" : m.target\r
+    case m.ctcp.intern\r
+    when :VERSION\r
+      m.ctcp_reply version_string\r
+      @bot.irclog "@ #{m.source} asked #{who} about version info"\r
+    when :SOURCE\r
+      m.ctcp_reply Irc::Bot::SOURCE_URL\r
+      @bot.irclog "@ #{m.source} asked #{who} about source info"\r
+    end\r
   end\r
 \r
   def handle_help(m, params)\r
@@ -204,8 +223,10 @@ class ConfigModule < CoreBotModule
       _("save => save current dynamic data and configuration")\r
     when "rescan"\r
       _("rescan => reload modules and static facts")\r
+    when "version"\r
+      _("version => describes software version")\r
     else\r
-      _("config-related tasks: config, save, rescan")\r
+      _("config-related tasks: config, save, rescan, version")\r
     end\r
   end\r
 \r