-- 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.1 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 () class HasHipBotAPI c_aN1L m_aN16 | c_aN1L -> m_aN16 hipBotAPI :: HasHipBotAPI c_aN1L m_aN16 => Lens' c_aN1L (HipBotAPI m_aN16) stmAPI :: MonadIO m => IO (HipBotAPI m) instance HasHipBotAPI (HipBotAPI m0) m0 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 -> 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 addOn :: 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