-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | A library for building HipChat Bots -- -- A library for building HipChat Bots @package hipbot @version 0.3 module HipBot.API data HipBotAPI m [HipBotAPI] :: (Registration -> AccessToken -> m ()) -> (OAuthId -> m ()) -> (OAuthId -> m (Maybe (Registration, AccessToken))) -> (OAuthId -> AccessToken -> m ()) -> HipBotAPI m [apiInsertRegistration] :: HipBotAPI m -> Registration -> AccessToken -> m () [apiDeleteRegistration] :: HipBotAPI m -> OAuthId -> m () [apiLookupRegistration] :: HipBotAPI m -> OAuthId -> m (Maybe (Registration, AccessToken)) [apiUpdateAccessToken] :: HipBotAPI m -> OAuthId -> AccessToken -> m () stmAPI :: MonadIO m => IO (HipBotAPI m) pgAPI :: MonadIO m => Pool Connection -> HipBotAPI m instance FromRow RegRow module HipBot data HipBot m data HipBotAPI m [HipBotAPI] :: (Registration -> AccessToken -> m ()) -> (OAuthId -> m ()) -> (OAuthId -> m (Maybe (Registration, AccessToken))) -> (OAuthId -> AccessToken -> m ()) -> HipBotAPI m [apiInsertRegistration] :: HipBotAPI m -> Registration -> AccessToken -> m () [apiDeleteRegistration] :: HipBotAPI m -> OAuthId -> m () [apiLookupRegistration] :: HipBotAPI m -> OAuthId -> m (Maybe (Registration, AccessToken)) [apiUpdateAccessToken] :: HipBotAPI m -> OAuthId -> AccessToken -> m () newHipBot :: HipBotAPI m -> AddOn -> OnUninstall m -> IO (HipBot m) hipBotResources :: (Applicative m, MonadCatch m, MonadIO m) => HipBot m -> Dispatcher (WaiResource m) configResource :: (Applicative m, Monad m) => HipBot m -> (Registration -> WaiCrankT m Body) -> WaiResource m verifySignature :: (Applicative m, Monad m) => HipBot m -> HaltT (WaiCrankT m) Registration sendNotification :: (Applicative m, MonadCatch m, MonadIO m) => HipBot m -> OAuthId -> Either RoomName RoomId -> Notification -> m (Maybe NotificationError) newtype AbsoluteURI [AbsoluteURI] :: URI -> AbsoluteURI parseAbsoluteURI :: String -> Maybe AbsoluteURI appendPath :: AbsoluteURI -> [Text] -> AbsoluteURI relPath :: [Text] -> String relativeTo :: [Text] -> AbsoluteURI -> AbsoluteURI data AddOn [AddOn] :: Text -> Text -> Text -> Links -> Maybe Capabilities -> Maybe Vendor -> AddOn [_addOnKey] :: AddOn -> Text [_addOnName] :: AddOn -> Text [_addOnDescription] :: AddOn -> Text [_addOnLinks] :: AddOn -> Links [_addOnCapabilities] :: AddOn -> Maybe Capabilities [_addOnVendor] :: AddOn -> Maybe Vendor defaultAddOn :: Text -> Text -> Text -> Links -> AddOn data Links [Links] :: AbsoluteURI -> Maybe AbsoluteURI -> Links [_linksSelf] :: Links -> AbsoluteURI [_linksHomepage] :: Links -> Maybe AbsoluteURI defaultLinks :: AbsoluteURI -> Links data Capabilities [Capabilities] :: Maybe Installable -> Maybe APIConsumer -> Maybe OAuth2Provider -> [Webhook] -> Maybe Configurable -> Capabilities [_capabilitiesInstallable] :: Capabilities -> Maybe Installable [_capabilitiesHipchatApiConsumer] :: Capabilities -> Maybe APIConsumer [_capabilitiesOauth2Provider] :: Capabilities -> Maybe OAuth2Provider [_capabilitiesWebhooks] :: Capabilities -> [Webhook] [_capabilitiesConfigurable] :: Capabilities -> Maybe Configurable defaultCapabilities :: Capabilities data Installable [Installable] :: Maybe AbsoluteURI -> Bool -> Bool -> Installable [_installableCallbackUrl] :: Installable -> Maybe AbsoluteURI [_installableAllowRoom] :: Installable -> Bool [_installableAllowGlobal] :: Installable -> Bool defaultInstallable :: Installable data APIConsumer [APIConsumer] :: [APIScope] -> Maybe Text -> APIConsumer [_apiScopes] :: APIConsumer -> [APIScope] [_apiFromName] :: APIConsumer -> Maybe Text defaultAPIConsumer :: APIConsumer data OAuth2Provider [OAuth2Provider] :: AbsoluteURI -> AbsoluteURI -> OAuth2Provider [_oAuth2ProviderAuthorizationUrl] :: OAuth2Provider -> AbsoluteURI [_oAuth2ProviderTokenUrl] :: OAuth2Provider -> AbsoluteURI data APIScope [AdminGroup] :: APIScope [AdminRoom] :: APIScope [ManageRooms] :: APIScope [SendMessage] :: APIScope [SendNotification] :: APIScope [ViewGroup] :: APIScope [ViewMessages] :: APIScope apiScopeStr :: IsString a => APIScope -> a data Webhook [Webhook] :: AbsoluteURI -> Maybe Text -> RoomEvent -> Webhook [_webhookUrl] :: Webhook -> AbsoluteURI [_webhookPattern] :: Webhook -> Maybe Text [_webhookEvent] :: Webhook -> RoomEvent data RoomEvent [RoomMessage] :: RoomEvent [RoomNotification] :: RoomEvent [RoomExit] :: RoomEvent [RoomEnter] :: RoomEvent [RoomTopicChange] :: RoomEvent data Configurable [Configurable] :: AbsoluteURI -> Configurable [_configurableUrl] :: Configurable -> AbsoluteURI data Vendor [Vendor] :: AbsoluteURI -> Text -> Vendor [_vendorUrl] :: Vendor -> AbsoluteURI [_vendorName] :: Vendor -> Text type OAuthId = Text type RoomId = Int type RoomName = Text data Registration [Registration] :: OAuthId -> AbsoluteURI -> Maybe RoomId -> Int -> Text -> Registration [_registrationOauthId] :: Registration -> OAuthId [_registrationCapabilitiesUrl] :: Registration -> AbsoluteURI [_registrationRoomId] :: Registration -> Maybe RoomId [_registrationGroupId] :: Registration -> Int [_registrationOauthSecret] :: Registration -> Text data AccessToken [AccessToken] :: Text -> UTCTime -> AccessToken [_accessTokenAccessToken] :: AccessToken -> Text [_accessTokenExpires] :: AccessToken -> UTCTime data Notification [TextNotification] :: Text -> Notification [HtmlNotification] :: Text -> Notification class HasCapabilities s a | s -> a capabilities :: HasCapabilities s a => Lens' s a class HasDescription s a | s -> a description :: HasDescription s a => Lens' s a class HasKey s a | s -> a key :: HasKey s a => Lens' s a class HasLinks s a | s -> a links :: HasLinks s a => Lens' s a class HasName s a | s -> a name :: HasName s a => Lens' s a class HasVendor s a | s -> a vendor :: HasVendor s a => Lens' s a class HasHomepage s a | s -> a homepage :: HasHomepage s a => Lens' s a class HasSelf s a | s -> a self :: HasSelf s a => Lens' s a class HasConfigurable s a | s -> a configurable :: HasConfigurable s a => Lens' s a class HasHipchatApiConsumer s a | s -> a hipchatApiConsumer :: HasHipchatApiConsumer s a => Lens' s a class HasInstallable s a | s -> a installable :: HasInstallable s a => Lens' s a class HasOauth2Provider s a | s -> a oauth2Provider :: HasOauth2Provider s a => Lens' s a class HasWebhooks s a | s -> a webhooks :: HasWebhooks s a => Lens' s a class HasAllowGlobal s a | s -> a allowGlobal :: HasAllowGlobal s a => Lens' s a class HasAllowRoom s a | s -> a allowRoom :: HasAllowRoom s a => Lens' s a class HasCallbackUrl s a | s -> a callbackUrl :: HasCallbackUrl s a => Lens' s a class HasFromName s a | s -> a fromName :: HasFromName s a => Lens' s a class HasScopes s a | s -> a scopes :: HasScopes s a => Lens' s a class HasAuthorizationUrl s a | s -> a authorizationUrl :: HasAuthorizationUrl s a => Lens' s a class HasTokenUrl s a | s -> a tokenUrl :: HasTokenUrl s a => Lens' s a class HasUrl s a | s -> a url :: HasUrl s a => Lens' s a class HasCapabilitiesUrl s a | s -> a capabilitiesUrl :: HasCapabilitiesUrl s a => Lens' s a class HasGroupId s a | s -> a groupId :: HasGroupId s a => Lens' s a class HasOauthId s a | s -> a oauthId :: HasOauthId s a => Lens' s a class HasOauthSecret s a | s -> a oauthSecret :: HasOauthSecret s a => Lens' s a class HasRoomId s a | s -> a roomId :: HasRoomId s a => Lens' s a class HasAccessToken s a | s -> a accessToken :: HasAccessToken s a => Lens' s a class HasExpires s a | s -> a expires :: HasExpires s a => Lens' s a instance Show NotificationError