{-# LANGUAGE DataKinds #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE UnicodeSyntax #-} -- | Lastfm event API -- -- This module is intended to be imported qualified: -- -- @ -- import qualified Network.Lastfm.Event as Event -- @ module Network.Lastfm.Event ( attend, getAttendees, getInfo, getShouts, share, shout ) where import Control.Applicative import Network.Lastfm.Request -- | Set a user's attendance status for an event. -- -- attend ∷ Request f Sign (Event → Status → APIKey → SessionKey → Ready) attend = api "event.attend" <* post {-# INLINE attend #-} -- | Get a list of attendees for an event. -- -- Optional: 'page', 'limit' -- -- getAttendees ∷ Request f Send (Event → APIKey → Ready) getAttendees = api "event.getAttendees" {-# INLINE getAttendees #-} -- | Get the metadata for an event on Last.fm. Includes attendance and lineup information. -- -- getInfo ∷ Request f Send (Event → APIKey → Ready) getInfo = api "event.getInfo" {-# INLINE getInfo #-} -- | Get shouts for this event. Also available as an rss feed. -- -- Optional: 'page', 'limit' -- -- getShouts ∷ Request f Send (Event → APIKey → Ready) getShouts = api "event.getShouts" {-# INLINE getShouts #-} -- | Share an event with one or more Last.fm users or other friends. -- -- Optional: 'public', 'message' -- -- share ∷ Request f Sign (Event → Recipient → APIKey → SessionKey → Ready) share = api "event.share" <* post {-# INLINE share #-} -- | Shout in this event's shoutbox -- -- shout ∷ Request f Sign (Event → Message → APIKey → SessionKey → Ready) shout = api "event.shout" <* post {-# INLINE shout #-}