]> git.netwichtig.de Git - user/henk/code/ruby/rbot.git/blobdiff - lib/rbot/core/config.rb
botuser: add command to reset the netmasks list
[user/henk/code/ruby/rbot.git] / lib / rbot / core / config.rb
index 7ff7a88c96d02fc2e38dcc063e739f08339960f1..13f93c9def78b246a3125b89abbd2bf0f913797d 100644 (file)
@@ -107,7 +107,7 @@ class ConfigModule < CoreBotModule
       m.reply _("no such config key %{key}") % {:key => key}\r
       return\r
     end\r
-    unless @bot.config.items[key].kind_of?(BotConfigArrayValue)\r
+    unless @bot.config.items[key].kind_of?(Config::ArrayValue)\r
       m.reply _("config key %{key} is not an array") % {:key => key}\r
       return\r
     end\r
@@ -130,7 +130,7 @@ class ConfigModule < CoreBotModule
       m.reply _("no such config key %{key}") % {:key => key}\r
       return\r
     end\r
-    unless @bot.config.items[key].kind_of?(BotConfigArrayValue)\r
+    unless @bot.config.items[key].kind_of?(Config::ArrayValue)\r
       m.reply _("config key %{key} is not an array") % {:key => key}\r
       return\r
     end\r
@@ -178,6 +178,18 @@ class ConfigModule < CoreBotModule
     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
     m.reply help(params[:topic])\r
   end\r
@@ -186,8 +198,6 @@ class ConfigModule < CoreBotModule
     case plugin\r
     when "config"\r
       case topic\r
-      when ""\r
-      _("config-related tasks: config topics, save, rescan")\r
       when "list"\r
       _("config list => list configuration modules, config list <module> => list configuration keys for module <module>")\r
       when "get"\r
@@ -207,6 +217,10 @@ class ConfigModule < CoreBotModule
       # else\r
       #   "no help for config #{topic}"\r
       end\r
+    when "nick"\r
+      _("nick <newnick> => change the bot nick to <newnick>, if possible")\r
+    when "status"\r
+      _("status => display some information on the bot's status")\r
     when "save"\r
       _("save => save current dynamic data and configuration")\r
     when "rescan"\r
@@ -214,7 +228,7 @@ class ConfigModule < CoreBotModule
     when "version"\r
       _("version => describes software version")\r
     else\r
-      _("config-related tasks: config, save, rescan, version")\r
+      _("config-related tasks: config, save, rescan, version, nick, status")\r
     end\r
   end\r
 \r
@@ -228,7 +242,7 @@ conf.map 'config list :module',
   :auth_path => 'show'\r
 # TODO this one is presently a security risk, since the bot\r
 # stores the master password in the config. Do we need auth levels\r
-# on the BotConfig keys too?\r
+# on the Bot::Config keys too?\r
 conf.map 'config get :key',\r
   :action => 'handle_get',\r
   :auth_path => 'show'\r
@@ -287,7 +301,7 @@ conf.map 'config help :topic',
 conf.default_auth('*', false)\r
 conf.default_auth('show::status', true)\r
 # TODO these shouldn't be set here, we need a way to let the default\r
-# permission be specified together with the BotConfigValue\r
+# permission be specified together with the ConfigValue\r
 conf.default_auth('key', true)\r
 conf.default_auth('key::auth::password', false)\r
 \r