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 {
- sendMessage :: ByteString -> RunnerM ()
- userConfig :: Config
- midTracker :: TMVar Int
- channelChache :: IORef ChannelCache
- userInfoCache :: IORef (HashMap SlackUserId UserInfo)
- runConnectionLoop :: SlackAdapter RTM -> Chan ByteString -> MVar Connection -> RunnerM ()
- stripWhiteSpaceMay :: Text -> Maybe Text
- runHandlerLoop :: SlackAdapter a -> Chan ByteString -> EventHandler (SlackAdapter a) -> RunnerM ()
- sendMessageImpl :: MVar Connection -> ByteString -> RunnerM ()
- runnerImpl :: MkSlack a => RunWithAdapter (SlackAdapter a)
- execAPIMethod :: (Value -> Parser v) -> SlackAdapter a -> String -> [FormParam] -> RunnerM (Either String (APIResponse v))
- newMid :: SlackAdapter a -> RunnerM Int
- messageChannelImpl :: SlackAdapter a -> SlackChannelId -> Text -> RunnerM ()
- getUserInfoImpl :: SlackAdapter a -> SlackUserId -> RunnerM UserInfo
- refreshUserInfo :: SlackAdapter a -> SlackUserId -> RunnerM UserInfo
- lciParser :: Value -> Parser LimitedChannelInfo
- lciListParser :: Value -> Parser [LimitedChannelInfo]
- refreshChannels :: SlackAdapter a -> RunnerM (Either String ChannelCache)
- resolveChannelImpl :: SlackAdapter a -> Text -> RunnerM (Maybe SlackChannelId)
- getChannelNameImpl :: SlackAdapter a -> SlackChannelId -> RunnerM Text
- putChannel :: SlackAdapter a -> LimitedChannelInfo -> RunnerM ()
- deleteChannel :: SlackAdapter a -> SlackChannelId -> RunnerM ()
- renameChannel :: SlackAdapter a -> LimitedChannelInfo -> RunnerM ()
- 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)