-plugin.map 'bans whitelist', :action => 'cmd_whitelist', :auth => 'bans'
-plugin.map 'bans delwhitelist :index', :action => 'cmd_whitelistdel', :auth => 'bans', :requirements => { :index => /^\d+$/ }
-plugin.map 'bans addwhitelist :netmask', :action => 'cmd_whitelistadd', :auth => 'bans'
-plugin.map 'bans delregexp :index', :action => 'cmd_delregexp', :auth => 'bans', :requirements => { :index => /^\d+$/ }
-plugin.map 'bans addregexp :type :timeout *regexp', :action => 'cmd_addregexp', :auth => 'bans', :requirements => {:timeout => /^\d+[smh]$/, :type => /(quietban)|(kickban)/ }, :defaults => { :timeout => "0s" }
-plugin.map 'bans listregexps', :action => 'cmd_listregexp', :auth => 'bans'
-plugin.map 'bans ban :nick :channel :timer', :action => 'cmd_ban', :auth => 'bans', :requirements => {:timer => /^\d+[smh]$/, :channel => /^#+[^\s]+$/}, :defaults => {:channel => '####currentchannel', :timer => '0s'}
-plugin.map 'bans quiet :nick :channel :timer', :action => 'cmd_quietban', :auth => 'bans', :requirements => {:timer => /^\d+[smh]$/, :channel => /^#+[^\s]+$/}, :defaults => {:channel => '####currentchannel', :timer => '0s'}
+plugin.default_auth( 'act', false )
+plugin.default_auth( 'edit', false )
+plugin.default_auth( 'list', true )
+
+plugin.map 'ban :nick :timer :channel', :action => 'ban_user',
+ :requirements => {:timer => BansPlugin::TimerRe, :channel => BansPlugin::ChannelRe},
+ :defaults => {:timer => nil, :channel => nil},
+ :auth_path => 'act'
+plugin.map 'unban :nick :channel', :action => 'unban_user',
+ :requirements => {:channel => BansPlugin::ChannelRe},
+ :defaults => {:channel => nil},
+ :auth_path => 'act'
+plugin.map 'kick :nick :channel *reason', :action => 'kick_user',
+ :requirements => {:channel => BansPlugin::ChannelRe},
+ :defaults => {:channel => nil, :reason => 'requested'},
+ :auth_path => 'act'
+plugin.map 'kickban :nick :timer :channel *reason', :action => 'kickban_user',
+ :requirements => {:timer => BansPlugin::TimerRe, :channel => BansPlugin::ChannelRe},
+ :defaults => {:timer => nil, :channel => nil, :reason => 'requested'},
+ :auth_path => 'act'
+plugin.map 'silence :nick :timer :channel', :action => 'silence_user',
+ :requirements => {:timer => BansPlugin::TimerRe, :channel => BansPlugin::ChannelRe},
+ :defaults => {:timer => nil, :channel => nil},
+ :auth_path => 'act'
+plugin.map 'unsilence :nick :channel', :action => 'unsilence_user',
+ :requirements => {:channel => BansPlugin::ChannelRe},
+ :defaults => {:channel => nil},
+ :auth_path => 'act'