Copyright | (c) Justus Adam 2016 |
---|---|
License | BSD3 |
Maintainer | dev@justus.science |
Stability | experimental |
Portability | POSIX |
Safe Haskell | None |
Language | Haskell2010 |
- data RTMData = RTMData {}
- data APIResponse a = APIResponse {
- responseOk :: Bool
- payload :: a
- newtype SlackUserId = SlackUserId Text
- newtype SlackChannelId = SlackChannelId Text
- data LimitedChannelInfo = LimitedChannelInfo SlackChannelId Text Text
- class HasIdValue s a | s -> a where
- class HasName s a | s -> a where
- class HasTopic s a | s -> a where
- data UserInfo = UserInfo Text SlackUserId
- class HasUsername s a | s -> a where
- data ChannelCache = ChannelCache (HashMap SlackChannelId LimitedChannelInfo) (HashMap Text SlackChannelId)
- class HasInfoCache s a | s -> a where
- class HasNameResolver s a | s -> a where
- data InternalType
- messageParser :: Value -> Parser (Event (SlackAdapter a))
- eventParser :: Value -> Parser (Either InternalType (Event (SlackAdapter a)))
- rawBS :: ByteString -> String
- helloParser :: Value -> Parser Bool
- userInfoParser :: Value -> Parser UserInfo
- apiResponseParser :: (Value -> Parser a) -> Value -> Parser (APIResponse a)
- data SlackAdapter a = SlackAdapter {}
- runConnectionLoop :: Chan ByteString -> AdapterM (SlackAdapter RTM) ()
- stripWhiteSpaceMay :: Text -> Maybe Text
- runHandlerLoop :: MkSlack a => Chan ByteString -> EventHandler (SlackAdapter a) -> AdapterM (SlackAdapter a) ()
- sendMessageImpl :: ByteString -> AdapterM (SlackAdapter a) ()
- runnerImpl :: MkSlack a => RunWithAdapter (SlackAdapter a)
- execAPIMethod :: MkSlack a => (Value -> Parser v) -> String -> [FormParam] -> AdapterM (SlackAdapter a) (Either String (APIResponse v))
- newMid :: AdapterM (SlackAdapter a) Int
- messageChannelImpl :: SlackChannelId -> Text -> AdapterM (SlackAdapter a) ()
- getUserInfoImpl :: MkSlack a => SlackUserId -> AdapterM (SlackAdapter a) UserInfo
- refreshUserInfo :: MkSlack a => SlackUserId -> AdapterM (SlackAdapter a) UserInfo
- lciParser :: Value -> Parser LimitedChannelInfo
- lciListParser :: Value -> Parser [LimitedChannelInfo]
- refreshChannels :: MkSlack a => AdapterM (SlackAdapter a) (Either String ChannelCache)
- resolveChannelImpl :: MkSlack a => Text -> AdapterM (SlackAdapter a) (Maybe SlackChannelId)
- getChannelNameImpl :: MkSlack a => SlackChannelId -> AdapterM (SlackAdapter a) Text
- putChannel :: LimitedChannelInfo -> AdapterM (SlackAdapter a) ()
- deleteChannel :: SlackChannelId -> AdapterM (SlackAdapter a) ()
- renameChannel :: LimitedChannelInfo -> AdapterM (SlackAdapter a) ()
- class MkSlack a where
- data RTM
- data EventsAPI
Documentation
data APIResponse a Source #
APIResponse | |
|
newtype SlackUserId Source #
Identifier for a user (internal and not necessarily equal to the username)
newtype SlackChannelId Source #
Identifier for a channel (internal and not necessarily equal to the channel name)