{-# LANGUAGE OverloadedStrings #-} {-| This library provides functionality for interacting with the Pushover API (@https://www.pushover.net@) from within a Haskell codebase. Pushover exposes a straightforward API for sending notifications to users of the Android and iOS Pushover app. Details of the API can be found at @https://pushover.net/api@. Requests are defined by the 'Request' type. The 'defaultRequest' function is provided to allow for the easy creation of simple requests. Each request requires an API token, user token and a message to be passed. All other fields are optional and can be set as required. -} module Network.Pushover ( -- * Sending a notification -- ** Regular functions sendMessage , sendRequest , createRequest -- ** Monadic functions , sendMessageM , sendRequestM , createRequestM -- * Requests -- ** Constructing a request , Request , defaultRequest -- ** Constructing a request's message , Message , message , bold , italic , underline , color , link , text -- ** Authenticating a request , APIToken , UserKey , PushoverToken , makeToken -- ** Other request fields , URL (..) , Priority (..) , NotificationSound (..) -- * Response , Response (..) , ResponseStatus (..) -- * Reader , PushoverReader (..) , PushoverKeys (..) , createKeys -- * Exceptions , PushoverException , errorMessage ) where import Network.Pushover.Exceptions import Network.Pushover.Execute import Network.Pushover.Message import Network.Pushover.Reader import Network.Pushover.Request import Network.Pushover.Response import Network.Pushover.Token