-plugin.map 'lastfm event[s] in *location', :action => :find_event
-plugin.map 'lastfm event[s] by *who', :action => :find_event
-plugin.map 'lastfm event[s] [for] *who', :action => :find_event
-plugin.map 'lastfm artist *who', :action => :find_artist
-plugin.map 'lastfm group *who', :action => :find_artist
-plugin.map 'lastfm track *dunno', :action => :find_track
-plugin.map 'lastfm song *dunno', :action => :find_track
-plugin.map 'lastfm album *dunno', :action => :find_album
-plugin.map 'lastfm :action *user'
+plugin.map 'lastfm [:num] event[s] in *location', :action => :find_events, :requirements => { :num => /\d+/ }, :thread => true
+plugin.map 'lastfm [:num] event[s] by *who', :action => :find_events, :requirements => { :num => /\d+/ }, :thread => true
+plugin.map 'lastfm [:num] event[s] [for] *who', :action => :find_events, :requirements => { :num => /\d+/ }, :thread => true
+plugin.map 'lastfm now :who', :action => :now_playing, :thread => true
+plugin.map 'lastfm now', :action => :now_playing, :thread => true
+plugin.map 'np :who', :action => :now_playing, :thread => true
+plugin.map 'lastfm artist *artist', :action => :find_artist, :thread => true
+plugin.map 'lastfm album *album [by *artist]', :action => :find_album
+plugin.map 'lastfm set nick :who', :action => :set_user, :thread => true
+plugin.map 'lastfm set verb :present :past', :action => :set_verb, :thread => true
+plugin.map 'lastfm who :who', :action => :get_user, :thread => true
+plugin.map 'lastfm who', :action => :get_user, :thread => true
+plugin.map 'lastfm compare :user1 :user2', :action => :tasteometer, :thread => true
+plugin.map 'np', :action => :now_playing, :thread => true
+plugin.map 'lastfm', :action => :now_playing, :thread => true
+plugin.map "lastfm [user] :action [:user]", :thread => true,
+ :requirements => { :action =>
+ /^(?:events|friends|neighbou?rs|playlists|recent?tracks|top(?:album|artist|tag)s?|weekly(?:album|artist|track)chart|weeklychartlist)$/
+}