| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Web.Slack.Conversation
Description
Synopsis
- data Conversation
- newtype ConversationId = ConversationId {}
- data ConversationType
- data ChannelConversation = ChannelConversation {
- channelId :: ConversationId
- channelName :: Text
- channelCreated :: Integer
- channelIsArchived :: Bool
- channelIsGeneral :: Bool
- channelUnlinked :: Integer
- channelNameNormalized :: Text
- channelIsShared :: Bool
- channelCreator :: UserId
- channelIsExtShared :: Bool
- channelIsOrgShared :: Bool
- channelSharedTeamIds :: Maybe [TeamId]
- channelIsPendingExtShared :: Bool
- channelIsMember :: Maybe Bool
- channelTopic :: Topic
- channelPurpose :: Purpose
- channelPreviousNames :: [Text]
- channelNumMembers :: Maybe Integer
- data GroupConversation = GroupConversation {
- groupId :: ConversationId
- groupName :: Text
- groupCreated :: Integer
- groupIsArchived :: Bool
- groupIsGeneral :: Bool
- groupUnlinked :: Integer
- groupNameNormalized :: Text
- groupIsShared :: Bool
- groupCreator :: UserId
- groupIsExtShared :: Bool
- groupIsOrgShared :: Bool
- groupSharedTeamIds :: [TeamId]
- groupIsPendingExtShared :: Bool
- groupIsMember :: Bool
- groupIsPrivate :: Bool
- groupIsMpim :: Bool
- groupLastRead :: SlackTimestamp
- groupIsOpen :: Bool
- groupTopic :: Topic
- groupPurpose :: Purpose
- groupPriority :: Scientific
- data ImConversation = ImConversation {}
- newtype TeamId = TeamId {}
- data Purpose = Purpose {}
- data Topic = Topic {}
- data ListReq = ListReq {}
- mkListReq :: ListReq
- data ListRsp = ListRsp {}
- data HistoryReq = HistoryReq {}
- mkHistoryReq :: ConversationId -> HistoryReq
- data HistoryRsp = HistoryRsp {}
- data RepliesReq = RepliesReq {}
- mkRepliesReq :: ConversationId -> SlackTimestamp -> RepliesReq
- newtype ResponseMetadata = ResponseMetadata {}
- type Api = ("conversations.info" :> (AuthProtect "token" :> (ReqBody '[FormUrlEncoded] InfoReq :> Post '[JSON] (ResponseJSON InfoRsp)))) :<|> ("conversations.join" :> (AuthProtect "token" :> (ReqBody '[FormUrlEncoded] JoinReq :> Post '[JSON] (ResponseJSON JoinRsp))))
- data InfoReq = InfoReq {}
- data InfoRsp = InfoRsp {}
- conversationsInfo :: SlackConfig -> InfoReq -> IO (Response InfoRsp)
- conversationsInfo_ :: AuthenticatedRequest (AuthProtect "token") -> InfoReq -> ClientM (ResponseJSON InfoRsp)
- data JoinReq = JoinReq {}
- data JoinRsp = JoinRsp {}
- conversationsJoin :: SlackConfig -> JoinReq -> IO (Response JoinRsp)
- conversationsJoin_ :: AuthenticatedRequest (AuthProtect "token") -> JoinReq -> ClientM (ResponseJSON JoinRsp)
Documentation
data Conversation Source #
Constructors
| Channel ChannelConversation | |
| Group GroupConversation | |
| Im ImConversation |
Instances
newtype ConversationId Source #
Common identifier for every type of Conversation.
Unique to the team which the conversation belongs to.
Ord to allow it to be a key of a Map
Constructors
| ConversationId | |
Fields | |
Instances
| FromJSON ConversationId Source # | |||||
Defined in Web.Slack.Types Methods parseJSON :: Value -> Parser ConversationId # parseJSONList :: Value -> Parser [ConversationId] # | |||||
| ToJSON ConversationId Source # | |||||
Defined in Web.Slack.Types Methods toJSON :: ConversationId -> Value # toEncoding :: ConversationId -> Encoding # toJSONList :: [ConversationId] -> Value # toEncodingList :: [ConversationId] -> Encoding # omitField :: ConversationId -> Bool # | |||||
| Generic ConversationId Source # | |||||
Defined in Web.Slack.Types Associated Types
Methods from :: ConversationId -> Rep ConversationId x # to :: Rep ConversationId x -> ConversationId # | |||||
| Show ConversationId Source # | |||||
Defined in Web.Slack.Types Methods showsPrec :: Int -> ConversationId -> ShowS # show :: ConversationId -> String # showList :: [ConversationId] -> ShowS # | |||||
| NFData ConversationId Source # | |||||
Defined in Web.Slack.Types Methods rnf :: ConversationId -> () # | |||||
| Eq ConversationId Source # | |||||
Defined in Web.Slack.Types Methods (==) :: ConversationId -> ConversationId -> Bool # (/=) :: ConversationId -> ConversationId -> Bool # | |||||
| Ord ConversationId Source # | |||||
Defined in Web.Slack.Types Methods compare :: ConversationId -> ConversationId -> Ordering # (<) :: ConversationId -> ConversationId -> Bool # (<=) :: ConversationId -> ConversationId -> Bool # (>) :: ConversationId -> ConversationId -> Bool # (>=) :: ConversationId -> ConversationId -> Bool # max :: ConversationId -> ConversationId -> ConversationId # min :: ConversationId -> ConversationId -> ConversationId # | |||||
| Hashable ConversationId Source # | |||||
Defined in Web.Slack.Types | |||||
| ToHttpApiData ConversationId Source # | |||||
Defined in Web.Slack.Types Methods toUrlPiece :: ConversationId -> Text # toEncodedUrlPiece :: ConversationId -> Builder # toHeader :: ConversationId -> ByteString # toQueryParam :: ConversationId -> Text # | |||||
| type Rep ConversationId Source # | |||||
Defined in Web.Slack.Types type Rep ConversationId = D1 ('MetaData "ConversationId" "Web.Slack.Types" "slack-web-2.2.0.0-2X4wKOtrXI0LMO4H3hWcQt" 'True) (C1 ('MetaCons "ConversationId" 'PrefixI 'True) (S1 ('MetaSel ('Just "unConversationId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text))) | |||||
data ConversationType Source #
Constructors
| PublicChannelType | |
| PrivateChannelType | |
| MpimType | |
| ImType |
Instances
| FromJSON ConversationType Source # | |||||
Defined in Web.Slack.Conversation Methods parseJSON :: Value -> Parser ConversationType # parseJSONList :: Value -> Parser [ConversationType] # | |||||
| ToJSON ConversationType Source # | |||||
Defined in Web.Slack.Conversation Methods toJSON :: ConversationType -> Value # toEncoding :: ConversationType -> Encoding # toJSONList :: [ConversationType] -> Value # toEncodingList :: [ConversationType] -> Encoding # omitField :: ConversationType -> Bool # | |||||
| Generic ConversationType Source # | |||||
Defined in Web.Slack.Conversation Associated Types
Methods from :: ConversationType -> Rep ConversationType x # to :: Rep ConversationType x -> ConversationType # | |||||
| Show ConversationType Source # | |||||
Defined in Web.Slack.Conversation Methods showsPrec :: Int -> ConversationType -> ShowS # show :: ConversationType -> String # showList :: [ConversationType] -> ShowS # | |||||
| NFData ConversationType Source # | |||||
Defined in Web.Slack.Conversation Methods rnf :: ConversationType -> () # | |||||
| Eq ConversationType Source # | |||||
Defined in Web.Slack.Conversation Methods (==) :: ConversationType -> ConversationType -> Bool # (/=) :: ConversationType -> ConversationType -> Bool # | |||||
| ToHttpApiData ConversationType Source # | |||||
Defined in Web.Slack.Conversation Methods toUrlPiece :: ConversationType -> Text # toEncodedUrlPiece :: ConversationType -> Builder # toHeader :: ConversationType -> ByteString # toQueryParam :: ConversationType -> Text # | |||||
| type Rep ConversationType Source # | |||||
Defined in Web.Slack.Conversation type Rep ConversationType = D1 ('MetaData "ConversationType" "Web.Slack.Conversation" "slack-web-2.2.0.0-2X4wKOtrXI0LMO4H3hWcQt" 'False) ((C1 ('MetaCons "PublicChannelType" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "PrivateChannelType" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "MpimType" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ImType" 'PrefixI 'False) (U1 :: Type -> Type))) | |||||
data ChannelConversation Source #
Conversation object representing a public channel, which any people in the team can join in and see.
Constructors
| ChannelConversation | |
Fields
| |
Instances
| FromJSON ChannelConversation Source # | |||||
Defined in Web.Slack.Conversation Methods parseJSON :: Value -> Parser ChannelConversation # parseJSONList :: Value -> Parser [ChannelConversation] # | |||||
| ToJSON ChannelConversation Source # | |||||
Defined in Web.Slack.Conversation Methods toJSON :: ChannelConversation -> Value # toEncoding :: ChannelConversation -> Encoding # toJSONList :: [ChannelConversation] -> Value # toEncodingList :: [ChannelConversation] -> Encoding # omitField :: ChannelConversation -> Bool # | |||||
| Generic ChannelConversation Source # | |||||
Defined in Web.Slack.Conversation Associated Types
Methods from :: ChannelConversation -> Rep ChannelConversation x # to :: Rep ChannelConversation x -> ChannelConversation # | |||||
| Show ChannelConversation Source # | |||||
Defined in Web.Slack.Conversation Methods showsPrec :: Int -> ChannelConversation -> ShowS # show :: ChannelConversation -> String # showList :: [ChannelConversation] -> ShowS # | |||||
| NFData ChannelConversation Source # | |||||
Defined in Web.Slack.Conversation Methods rnf :: ChannelConversation -> () # | |||||
| Eq ChannelConversation Source # | |||||
Defined in Web.Slack.Conversation Methods (==) :: ChannelConversation -> ChannelConversation -> Bool # (/=) :: ChannelConversation -> ChannelConversation -> Bool # | |||||
| type Rep ChannelConversation Source # | |||||
Defined in Web.Slack.Conversation type Rep ChannelConversation = D1 ('MetaData "ChannelConversation" "Web.Slack.Conversation" "slack-web-2.2.0.0-2X4wKOtrXI0LMO4H3hWcQt" 'False) (C1 ('MetaCons "ChannelConversation" 'PrefixI 'True) ((((S1 ('MetaSel ('Just "channelId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ConversationId) :*: S1 ('MetaSel ('Just "channelName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text)) :*: (S1 ('MetaSel ('Just "channelCreated") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Integer) :*: S1 ('MetaSel ('Just "channelIsArchived") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool))) :*: ((S1 ('MetaSel ('Just "channelIsGeneral") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "channelUnlinked") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Integer)) :*: (S1 ('MetaSel ('Just "channelNameNormalized") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text) :*: (S1 ('MetaSel ('Just "channelIsShared") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "channelCreator") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 UserId))))) :*: (((S1 ('MetaSel ('Just "channelIsExtShared") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "channelIsOrgShared") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "channelSharedTeamIds") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe [TeamId])) :*: S1 ('MetaSel ('Just "channelIsPendingExtShared") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool))) :*: ((S1 ('MetaSel ('Just "channelIsMember") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Bool)) :*: S1 ('MetaSel ('Just "channelTopic") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Topic)) :*: (S1 ('MetaSel ('Just "channelPurpose") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Purpose) :*: (S1 ('MetaSel ('Just "channelPreviousNames") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [Text]) :*: S1 ('MetaSel ('Just "channelNumMembers") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Integer)))))))) | |||||
data GroupConversation Source #
Conversation object representing a private channel or _a multi-party instant message (mpim)_, which only invited people in the team can join in and see.
Constructors
| GroupConversation | |
Fields
| |
Instances
| FromJSON GroupConversation Source # | |||||
Defined in Web.Slack.Conversation Methods parseJSON :: Value -> Parser GroupConversation # parseJSONList :: Value -> Parser [GroupConversation] # | |||||
| ToJSON GroupConversation Source # | |||||
Defined in Web.Slack.Conversation Methods toJSON :: GroupConversation -> Value # toEncoding :: GroupConversation -> Encoding # toJSONList :: [GroupConversation] -> Value # toEncodingList :: [GroupConversation] -> Encoding # omitField :: GroupConversation -> Bool # | |||||
| Generic GroupConversation Source # | |||||
Defined in Web.Slack.Conversation Associated Types
Methods from :: GroupConversation -> Rep GroupConversation x # to :: Rep GroupConversation x -> GroupConversation # | |||||
| Show GroupConversation Source # | |||||
Defined in Web.Slack.Conversation Methods showsPrec :: Int -> GroupConversation -> ShowS # show :: GroupConversation -> String # showList :: [GroupConversation] -> ShowS # | |||||
| NFData GroupConversation Source # | |||||
Defined in Web.Slack.Conversation Methods rnf :: GroupConversation -> () # | |||||
| Eq GroupConversation Source # | |||||
Defined in Web.Slack.Conversation Methods (==) :: GroupConversation -> GroupConversation -> Bool # (/=) :: GroupConversation -> GroupConversation -> Bool # | |||||
| type Rep GroupConversation Source # | |||||
Defined in Web.Slack.Conversation type Rep GroupConversation = D1 ('MetaData "GroupConversation" "Web.Slack.Conversation" "slack-web-2.2.0.0-2X4wKOtrXI0LMO4H3hWcQt" 'False) (C1 ('MetaCons "GroupConversation" 'PrefixI 'True) ((((S1 ('MetaSel ('Just "groupId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ConversationId) :*: S1 ('MetaSel ('Just "groupName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text)) :*: (S1 ('MetaSel ('Just "groupCreated") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Integer) :*: (S1 ('MetaSel ('Just "groupIsArchived") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "groupIsGeneral") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool)))) :*: ((S1 ('MetaSel ('Just "groupUnlinked") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Integer) :*: S1 ('MetaSel ('Just "groupNameNormalized") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text)) :*: (S1 ('MetaSel ('Just "groupIsShared") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: (S1 ('MetaSel ('Just "groupCreator") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 UserId) :*: S1 ('MetaSel ('Just "groupIsExtShared") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool))))) :*: (((S1 ('MetaSel ('Just "groupIsOrgShared") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "groupSharedTeamIds") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [TeamId])) :*: (S1 ('MetaSel ('Just "groupIsPendingExtShared") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: (S1 ('MetaSel ('Just "groupIsMember") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "groupIsPrivate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool)))) :*: ((S1 ('MetaSel ('Just "groupIsMpim") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: (S1 ('MetaSel ('Just "groupLastRead") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 SlackTimestamp) :*: S1 ('MetaSel ('Just "groupIsOpen") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool))) :*: (S1 ('MetaSel ('Just "groupTopic") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Topic) :*: (S1 ('MetaSel ('Just "groupPurpose") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Purpose) :*: S1 ('MetaSel ('Just "groupPriority") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Scientific))))))) | |||||
data ImConversation Source #
Conversation object representing a (single-party) instance message, where only two people talk.
Constructors
| ImConversation | |
Fields
| |
Instances
| FromJSON ImConversation Source # | |||||
Defined in Web.Slack.Conversation Methods parseJSON :: Value -> Parser ImConversation # parseJSONList :: Value -> Parser [ImConversation] # | |||||
| ToJSON ImConversation Source # | |||||
Defined in Web.Slack.Conversation Methods toJSON :: ImConversation -> Value # toEncoding :: ImConversation -> Encoding # toJSONList :: [ImConversation] -> Value # toEncodingList :: [ImConversation] -> Encoding # omitField :: ImConversation -> Bool # | |||||
| Generic ImConversation Source # | |||||
Defined in Web.Slack.Conversation Associated Types
Methods from :: ImConversation -> Rep ImConversation x # to :: Rep ImConversation x -> ImConversation # | |||||
| Show ImConversation Source # | |||||
Defined in Web.Slack.Conversation Methods showsPrec :: Int -> ImConversation -> ShowS # show :: ImConversation -> String # showList :: [ImConversation] -> ShowS # | |||||
| NFData ImConversation Source # | |||||
Defined in Web.Slack.Conversation Methods rnf :: ImConversation -> () # | |||||
| Eq ImConversation Source # | |||||
Defined in Web.Slack.Conversation Methods (==) :: ImConversation -> ImConversation -> Bool # (/=) :: ImConversation -> ImConversation -> Bool # | |||||
| type Rep ImConversation Source # | |||||
Defined in Web.Slack.Conversation type Rep ImConversation = D1 ('MetaData "ImConversation" "Web.Slack.Conversation" "slack-web-2.2.0.0-2X4wKOtrXI0LMO4H3hWcQt" 'False) (C1 ('MetaCons "ImConversation" 'PrefixI 'True) ((S1 ('MetaSel ('Just "imId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ConversationId) :*: (S1 ('MetaSel ('Just "imCreated") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Integer) :*: S1 ('MetaSel ('Just "imIsArchived") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool))) :*: ((S1 ('MetaSel ('Just "imIsOrgShared") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "imUser") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 UserId)) :*: (S1 ('MetaSel ('Just "imIsUserDeleted") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Bool)) :*: S1 ('MetaSel ('Just "imPriority") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Scientific))))) | |||||
Instances
| FromJSON TeamId Source # | |||||
Defined in Web.Slack.Types | |||||
| ToJSON TeamId Source # | |||||
| Generic TeamId Source # | |||||
Defined in Web.Slack.Types Associated Types
| |||||
| Show TeamId Source # | |||||
| NFData TeamId Source # | |||||
Defined in Web.Slack.Types | |||||
| Eq TeamId Source # | |||||
| Ord TeamId Source # | |||||
| Hashable TeamId Source # | |||||
Defined in Web.Slack.Types | |||||
| ToHttpApiData TeamId Source # | |||||
Defined in Web.Slack.Types Methods toUrlPiece :: TeamId -> Text # toEncodedUrlPiece :: TeamId -> Builder # toHeader :: TeamId -> ByteString # toQueryParam :: TeamId -> Text # toEncodedQueryParam :: TeamId -> Builder # | |||||
| type Rep TeamId Source # | |||||
Defined in Web.Slack.Types | |||||
Constructors
| Purpose | |
Fields
| |
Instances
| FromJSON Purpose Source # | |||||
Defined in Web.Slack.Conversation | |||||
| ToJSON Purpose Source # | |||||
| Generic Purpose Source # | |||||
Defined in Web.Slack.Conversation Associated Types
| |||||
| Show Purpose Source # | |||||
| NFData Purpose Source # | |||||
Defined in Web.Slack.Conversation | |||||
| Eq Purpose Source # | |||||
| type Rep Purpose Source # | |||||
Defined in Web.Slack.Conversation type Rep Purpose = D1 ('MetaData "Purpose" "Web.Slack.Conversation" "slack-web-2.2.0.0-2X4wKOtrXI0LMO4H3hWcQt" 'False) (C1 ('MetaCons "Purpose" 'PrefixI 'True) (S1 ('MetaSel ('Just "purposeValue") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text) :*: (S1 ('MetaSel ('Just "purposeCreator") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "purposeLastSet") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Integer)))) | |||||
Constructors
| Topic | |
Fields
| |
Instances
| FromJSON Topic Source # | |||||
Defined in Web.Slack.Conversation | |||||
| ToJSON Topic Source # | |||||
| Generic Topic Source # | |||||
Defined in Web.Slack.Conversation Associated Types
| |||||
| Show Topic Source # | |||||
| NFData Topic Source # | |||||
Defined in Web.Slack.Conversation | |||||
| Eq Topic Source # | |||||
| type Rep Topic Source # | |||||
Defined in Web.Slack.Conversation type Rep Topic = D1 ('MetaData "Topic" "Web.Slack.Conversation" "slack-web-2.2.0.0-2X4wKOtrXI0LMO4H3hWcQt" 'False) (C1 ('MetaCons "Topic" 'PrefixI 'True) (S1 ('MetaSel ('Just "topicValue") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text) :*: (S1 ('MetaSel ('Just "topicCreator") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "topicLastSet") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Integer)))) | |||||
Constructors
| ListReq | |
Fields | |
Instances
| FromJSON ListReq Source # | |||||
Defined in Web.Slack.Conversation | |||||
| ToJSON ListReq Source # | |||||
| Generic ListReq Source # | |||||
Defined in Web.Slack.Conversation Associated Types
| |||||
| Show ListReq Source # | |||||
| NFData ListReq Source # | |||||
Defined in Web.Slack.Conversation | |||||
| Eq ListReq Source # | |||||
| ToForm ListReq Source # | |||||
Defined in Web.Slack.Conversation | |||||
| PagedRequest ListReq Source # | |||||
| type Rep ListReq Source # | |||||
Defined in Web.Slack.Conversation type Rep ListReq = D1 ('MetaData "ListReq" "Web.Slack.Conversation" "slack-web-2.2.0.0-2X4wKOtrXI0LMO4H3hWcQt" 'False) (C1 ('MetaCons "ListReq" 'PrefixI 'True) ((S1 ('MetaSel ('Just "listReqExcludeArchived") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Bool)) :*: S1 ('MetaSel ('Just "listReqTypes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [ConversationType])) :*: (S1 ('MetaSel ('Just "listReqCursor") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Cursor)) :*: (S1 ('MetaSel ('Just "listReqLimit") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Int)) :*: S1 ('MetaSel ('Just "listReqTeamId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe TeamId)))))) | |||||
Constructors
| ListRsp | |
Fields | |
Instances
| FromJSON ListRsp Source # | |||||
Defined in Web.Slack.Conversation | |||||
| Generic ListRsp Source # | |||||
Defined in Web.Slack.Conversation Associated Types
| |||||
| Show ListRsp Source # | |||||
| NFData ListRsp Source # | |||||
Defined in Web.Slack.Conversation | |||||
| Eq ListRsp Source # | |||||
| PagedResponse ListRsp Source # | |||||
Defined in Web.Slack.Conversation Associated Types
Methods getResponseMetadata :: ListRsp -> Maybe ResponseMetadata Source # getResponseData :: ListRsp -> [ResponseObject ListRsp] Source # | |||||
| type Rep ListRsp Source # | |||||
Defined in Web.Slack.Conversation type Rep ListRsp = D1 ('MetaData "ListRsp" "Web.Slack.Conversation" "slack-web-2.2.0.0-2X4wKOtrXI0LMO4H3hWcQt" 'False) (C1 ('MetaCons "ListRsp" 'PrefixI 'True) (S1 ('MetaSel ('Just "listRspChannels") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [Conversation]) :*: S1 ('MetaSel ('Just "listRspResponseMetadata") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe ResponseMetadata)))) | |||||
| type ResponseObject ListRsp Source # | |||||
Defined in Web.Slack.Conversation | |||||
data HistoryReq Source #
Constructors
| HistoryReq | |
Instances
| FromJSON HistoryReq Source # | |||||
Defined in Web.Slack.Conversation | |||||
| ToJSON HistoryReq Source # | |||||
Defined in Web.Slack.Conversation Methods toJSON :: HistoryReq -> Value # toEncoding :: HistoryReq -> Encoding # toJSONList :: [HistoryReq] -> Value # toEncodingList :: [HistoryReq] -> Encoding # omitField :: HistoryReq -> Bool # | |||||
| Generic HistoryReq Source # | |||||
Defined in Web.Slack.Conversation Associated Types
| |||||
| Show HistoryReq Source # | |||||
Defined in Web.Slack.Conversation Methods showsPrec :: Int -> HistoryReq -> ShowS # show :: HistoryReq -> String # showList :: [HistoryReq] -> ShowS # | |||||
| NFData HistoryReq Source # | |||||
Defined in Web.Slack.Conversation Methods rnf :: HistoryReq -> () # | |||||
| Eq HistoryReq Source # | |||||
Defined in Web.Slack.Conversation | |||||
| ToForm HistoryReq Source # | |||||
Defined in Web.Slack.Conversation Methods toForm :: HistoryReq -> Form # | |||||
| PagedRequest HistoryReq Source # | |||||
Defined in Web.Slack.Conversation Methods setCursor :: Maybe Cursor -> HistoryReq -> HistoryReq Source # | |||||
| type Rep HistoryReq Source # | |||||
Defined in Web.Slack.Conversation type Rep HistoryReq = D1 ('MetaData "HistoryReq" "Web.Slack.Conversation" "slack-web-2.2.0.0-2X4wKOtrXI0LMO4H3hWcQt" 'False) (C1 ('MetaCons "HistoryReq" 'PrefixI 'True) ((S1 ('MetaSel ('Just "historyReqChannel") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ConversationId) :*: (S1 ('MetaSel ('Just "historyReqCursor") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Cursor)) :*: S1 ('MetaSel ('Just "historyReqCount") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int))) :*: (S1 ('MetaSel ('Just "historyReqLatest") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe SlackTimestamp)) :*: (S1 ('MetaSel ('Just "historyReqOldest") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe SlackTimestamp)) :*: S1 ('MetaSel ('Just "historyReqInclusive") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool))))) | |||||
data HistoryRsp Source #
Constructors
| HistoryRsp | |
Fields | |
Instances
| FromJSON HistoryRsp Source # | |||||
Defined in Web.Slack.Conversation | |||||
| ToJSON HistoryRsp Source # | |||||
Defined in Web.Slack.Conversation Methods toJSON :: HistoryRsp -> Value # toEncoding :: HistoryRsp -> Encoding # toJSONList :: [HistoryRsp] -> Value # toEncodingList :: [HistoryRsp] -> Encoding # omitField :: HistoryRsp -> Bool # | |||||
| Generic HistoryRsp Source # | |||||
Defined in Web.Slack.Conversation Associated Types
| |||||
| Show HistoryRsp Source # | |||||
Defined in Web.Slack.Conversation Methods showsPrec :: Int -> HistoryRsp -> ShowS # show :: HistoryRsp -> String # showList :: [HistoryRsp] -> ShowS # | |||||
| NFData HistoryRsp Source # | |||||
Defined in Web.Slack.Conversation Methods rnf :: HistoryRsp -> () # | |||||
| Eq HistoryRsp Source # | |||||
Defined in Web.Slack.Conversation | |||||
| PagedResponse HistoryRsp Source # | |||||
Defined in Web.Slack.Conversation Associated Types
Methods getResponseMetadata :: HistoryRsp -> Maybe ResponseMetadata Source # getResponseData :: HistoryRsp -> [ResponseObject HistoryRsp] Source # | |||||
| type Rep HistoryRsp Source # | |||||
Defined in Web.Slack.Conversation type Rep HistoryRsp = D1 ('MetaData "HistoryRsp" "Web.Slack.Conversation" "slack-web-2.2.0.0-2X4wKOtrXI0LMO4H3hWcQt" 'False) (C1 ('MetaCons "HistoryRsp" 'PrefixI 'True) (S1 ('MetaSel ('Just "historyRspMessages") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [Message]) :*: S1 ('MetaSel ('Just "historyRspResponseMetadata") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe ResponseMetadata)))) | |||||
| type ResponseObject HistoryRsp Source # | |||||
Defined in Web.Slack.Conversation | |||||
data RepliesReq Source #
Constructors
| RepliesReq | |
Instances
| FromJSON RepliesReq Source # | |||||
Defined in Web.Slack.Conversation | |||||
| ToJSON RepliesReq Source # | |||||
Defined in Web.Slack.Conversation Methods toJSON :: RepliesReq -> Value # toEncoding :: RepliesReq -> Encoding # toJSONList :: [RepliesReq] -> Value # toEncodingList :: [RepliesReq] -> Encoding # omitField :: RepliesReq -> Bool # | |||||
| Generic RepliesReq Source # | |||||
Defined in Web.Slack.Conversation Associated Types
| |||||
| Show RepliesReq Source # | |||||
Defined in Web.Slack.Conversation Methods showsPrec :: Int -> RepliesReq -> ShowS # show :: RepliesReq -> String # showList :: [RepliesReq] -> ShowS # | |||||
| NFData RepliesReq Source # | |||||
Defined in Web.Slack.Conversation Methods rnf :: RepliesReq -> () # | |||||
| Eq RepliesReq Source # | |||||
Defined in Web.Slack.Conversation | |||||
| ToForm RepliesReq Source # | |||||
Defined in Web.Slack.Conversation Methods toForm :: RepliesReq -> Form # | |||||
| PagedRequest RepliesReq Source # | |||||
Defined in Web.Slack.Conversation Methods setCursor :: Maybe Cursor -> RepliesReq -> RepliesReq Source # | |||||
| type Rep RepliesReq Source # | |||||
Defined in Web.Slack.Conversation type Rep RepliesReq = D1 ('MetaData "RepliesReq" "Web.Slack.Conversation" "slack-web-2.2.0.0-2X4wKOtrXI0LMO4H3hWcQt" 'False) (C1 ('MetaCons "RepliesReq" 'PrefixI 'True) ((S1 ('MetaSel ('Just "repliesReqTs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 SlackTimestamp) :*: (S1 ('MetaSel ('Just "repliesReqCursor") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Cursor)) :*: S1 ('MetaSel ('Just "repliesReqChannel") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ConversationId))) :*: ((S1 ('MetaSel ('Just "repliesReqLimit") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int) :*: S1 ('MetaSel ('Just "repliesReqLatest") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe SlackTimestamp))) :*: (S1 ('MetaSel ('Just "repliesReqOldest") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe SlackTimestamp)) :*: S1 ('MetaSel ('Just "repliesReqInclusive") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool))))) | |||||
newtype ResponseMetadata Source #
Constructors
| ResponseMetadata | |
Fields | |
Instances
| FromJSON ResponseMetadata Source # | |||||
Defined in Web.Slack.Pager.Types Methods parseJSON :: Value -> Parser ResponseMetadata # parseJSONList :: Value -> Parser [ResponseMetadata] # | |||||
| ToJSON ResponseMetadata Source # | |||||
Defined in Web.Slack.Pager.Types Methods toJSON :: ResponseMetadata -> Value # toEncoding :: ResponseMetadata -> Encoding # toJSONList :: [ResponseMetadata] -> Value # toEncodingList :: [ResponseMetadata] -> Encoding # omitField :: ResponseMetadata -> Bool # | |||||
| Generic ResponseMetadata Source # | |||||
Defined in Web.Slack.Pager.Types Associated Types
Methods from :: ResponseMetadata -> Rep ResponseMetadata x # to :: Rep ResponseMetadata x -> ResponseMetadata # | |||||
| Show ResponseMetadata Source # | |||||
Defined in Web.Slack.Pager.Types Methods showsPrec :: Int -> ResponseMetadata -> ShowS # show :: ResponseMetadata -> String # showList :: [ResponseMetadata] -> ShowS # | |||||
| NFData ResponseMetadata Source # | |||||
Defined in Web.Slack.Pager.Types Methods rnf :: ResponseMetadata -> () # | |||||
| Eq ResponseMetadata Source # | |||||
Defined in Web.Slack.Pager.Types Methods (==) :: ResponseMetadata -> ResponseMetadata -> Bool # (/=) :: ResponseMetadata -> ResponseMetadata -> Bool # | |||||
| type Rep ResponseMetadata Source # | |||||
Defined in Web.Slack.Pager.Types type Rep ResponseMetadata = D1 ('MetaData "ResponseMetadata" "Web.Slack.Pager.Types" "slack-web-2.2.0.0-2X4wKOtrXI0LMO4H3hWcQt" 'True) (C1 ('MetaCons "ResponseMetadata" 'PrefixI 'True) (S1 ('MetaSel ('Just "responseMetadataNextCursor") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Cursor)))) | |||||
type Api = ("conversations.info" :> (AuthProtect "token" :> (ReqBody '[FormUrlEncoded] InfoReq :> Post '[JSON] (ResponseJSON InfoRsp)))) :<|> ("conversations.join" :> (AuthProtect "token" :> (ReqBody '[FormUrlEncoded] JoinReq :> Post '[JSON] (ResponseJSON JoinRsp)))) Source #
FIXME(jadel): move the rest of the Conversations API into here since the old "shoving all the API in one spot" is soft deprecated. @since 2.2.0.0
conversations.info request: retrieve a conversation's metadata.
https://api.slack.com/methods/conversations.info
Since: 2.2.0.0
Constructors
| InfoReq | |
Instances
| Generic InfoReq Source # | |||||
Defined in Web.Slack.Conversation Associated Types
| |||||
| Show InfoReq Source # | |||||
| Eq InfoReq Source # | |||||
| ToForm InfoReq Source # | |||||
Defined in Web.Slack.Conversation | |||||
| type Rep InfoReq Source # | |||||
Defined in Web.Slack.Conversation type Rep InfoReq = D1 ('MetaData "InfoReq" "Web.Slack.Conversation" "slack-web-2.2.0.0-2X4wKOtrXI0LMO4H3hWcQt" 'False) (C1 ('MetaCons "InfoReq" 'PrefixI 'True) (S1 ('MetaSel ('Just "infoReqChannel") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ConversationId) :*: (S1 ('MetaSel ('Just "infoReqIncludeLocale") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Bool)) :*: S1 ('MetaSel ('Just "infoReqIncludeNumMembers") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Bool))))) | |||||
Constructors
| InfoRsp | |
Fields | |
Instances
| FromJSON InfoRsp Source # | |||||
Defined in Web.Slack.Conversation | |||||
| ToJSON InfoRsp Source # | |||||
| Generic InfoRsp Source # | |||||
Defined in Web.Slack.Conversation Associated Types
| |||||
| Show InfoRsp Source # | |||||
| Eq InfoRsp Source # | |||||
| type Rep InfoRsp Source # | |||||
Defined in Web.Slack.Conversation type Rep InfoRsp = D1 ('MetaData "InfoRsp" "Web.Slack.Conversation" "slack-web-2.2.0.0-2X4wKOtrXI0LMO4H3hWcQt" 'False) (C1 ('MetaCons "InfoRsp" 'PrefixI 'True) (S1 ('MetaSel ('Just "infoRspChannel") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Conversation))) | |||||
conversationsInfo :: SlackConfig -> InfoReq -> IO (Response InfoRsp) Source #
conversationsInfo_ :: AuthenticatedRequest (AuthProtect "token") -> InfoReq -> ClientM (ResponseJSON InfoRsp) Source #
Since: 2.2.0.0
Joins a conversation.
Constructors
| JoinReq | |
Fields | |
Instances
| Generic JoinReq Source # | |||||
Defined in Web.Slack.Conversation Associated Types
| |||||
| Show JoinReq Source # | |||||
| Eq JoinReq Source # | |||||
| ToForm JoinReq Source # | |||||
Defined in Web.Slack.Conversation | |||||
| type Rep JoinReq Source # | |||||
Defined in Web.Slack.Conversation type Rep JoinReq = D1 ('MetaData "JoinReq" "Web.Slack.Conversation" "slack-web-2.2.0.0-2X4wKOtrXI0LMO4H3hWcQt" 'False) (C1 ('MetaCons "JoinReq" 'PrefixI 'True) (S1 ('MetaSel ('Just "joinReqChannel") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ConversationId))) | |||||
{
"ok": true,
"channel": {
"id": C061EG9SL,
"name": "general",
"is_channel": true,
"is_group": false,
"is_im": false,
"created": 1449252889,
"creator": U061F7AUR,
"is_archived": false,
"is_general": true,
"unlinked": 0,
"name_normalized": "general",
"is_shared": false,
"is_ext_shared": false,
"is_org_shared": false,
"pending_shared": [],
"is_pending_ext_shared": false,
"is_member": true,
"is_private": false,
"is_mpim": false,
"topic": {
"value": "Which widget do you worry about?",
"creator": "",
"last_set": 0
},
"purpose": {
"value": "For widget discussion",
"creator": "",
"last_set": 0
},
"previous_names": []
},
"warning": "already_in_channel",
"response_metadata": {
"warnings": [
"already_in_channel"
]
}
}
Constructors
| JoinRsp | |
Fields | |
conversationsJoin :: SlackConfig -> JoinReq -> IO (Response JoinRsp) Source #
conversationsJoin_ :: AuthenticatedRequest (AuthProtect "token") -> JoinReq -> ClientM (ResponseJSON JoinRsp) Source #
Since: 2.2.0.0