pushover-0.1.0.1: src/Network/Pushover.hs
{-# 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