#-- vim:sw=2:et\r
#++\r
-\r
+#\r
+# :title: rbot auth management from IRC\r
+#\r
+# Author:: Giuseppe "Oblomov" Bilotta <giuseppe.bilotta@gmail.com>\r
+# Copyright:: (C) 2006,2007 Giuseppe Bilotta\r
+# License:: GPL v2\r
\r
class AuthModule < CoreBotModule\r
\r
splits = params[:args]\r
\r
has_for = splits[-2] == "for"\r
- return usage unless has_for\r
+ return usage(m) unless has_for\r
\r
begin\r
user = @bot.auth.get_botuser(splits[-1].sub(/^all$/,"everyone"))\r
"welcome, #{get_botusername_for(user)}"\r
end\r
\r
+ def auth_auth(m, params)\r
+ params[:botuser] = 'owner'\r
+ auth_login(m,params)\r
+ end\r
+\r
def auth_login(m, params)\r
begin\r
case @bot.auth.login(m.source, params[:botuser], params[:password])\r
return "permissions [re]set <permission> [in <channel>] for <user>: sets or resets the permissions for botuser <user> in channel <channel> (use ? to change the permissions for private addressing)"\r
when "view"\r
return "permissions view [for <user>]: display the permissions for user <user>"\r
+ else\r
+ return "topics: syntax, (re)set, view"\r
end\r
when "user"\r
case topic\r
:action => 'auth_whoami',\r
:auth_path => '!*!'\r
\r
+auth.map "auth :password",\r
+ :action => 'auth_auth',\r
+ :public => false,\r
+ :auth_path => '!login!'\r
+\r
auth.map "login :botuser :password",\r
:action => 'auth_login',\r
:public => false,\r