| Copyright | (c) 2021 Rory Tyler Hayford |
|---|---|
| License | BSD-3-Clause |
| Maintainer | rory.hayford@protonmail.com |
| Stability | experimental |
| Portability | GHC |
| Safe Haskell | None |
| Language | Haskell2010 |
Network.Reddit.Types.Subreddit
Contents
Description
Synopsis
- data SubredditName
- mkSubredditName :: MonadThrow m => Text -> m SubredditName
- newtype SubredditID = SubredditID Text
- data Subreddit = Subreddit {
- subredditID :: SubredditID
- name :: SubredditName
- title :: Title
- created :: UTCTime
- description :: Body
- descriptionHTML :: Maybe Body
- publicDescription :: Body
- subscribers :: Integer
- over18 :: Bool
- userIsBanned :: Maybe Bool
- userIsModerator :: Maybe Bool
- userIsSubscriber :: Maybe Bool
- canAssignLinkFlair :: Maybe Bool
- canAssignUserFlair :: Maybe Bool
- quarantine :: Bool
- data RecsList
- data NameSearchResults
- data SubredditRule = SubredditRule {}
- data RuleList
- data NewSubredditRule = NewSubredditRule {
- shortName :: Name
- ruleType :: RuleType
- description :: Body
- violationReason :: Maybe Text
- data PostedSubredditRule
- data RuleType
- data PostRequirements = PostRequirements {}
- data BodyRestriction
Documentation
data SubredditName Source #
The name of a subreddit
Instances
mkSubredditName :: MonadThrow m => Text -> m SubredditName Source #
Smart constructor for SubredditName, which must be between 3 and 20 chars,
and may only include upper/lowercase alphanumeric chars, underscores, and
hyphens
newtype SubredditID Source #
Unique site-wide identifier for a subreddit
Constructors
| SubredditID Text |
Instances
| Eq SubredditID Source # | |
Defined in Network.Reddit.Types.Subreddit | |
| Show SubredditID Source # | |
Defined in Network.Reddit.Types.Subreddit Methods showsPrec :: Int -> SubredditID -> ShowS # show :: SubredditID -> String # showList :: [SubredditID] -> ShowS # | |
| Generic SubredditID Source # | |
Defined in Network.Reddit.Types.Subreddit Associated Types type Rep SubredditID :: Type -> Type # | |
| FromJSON SubredditID Source # | |
Defined in Network.Reddit.Types.Subreddit | |
| Thing SubredditID Source # | |
Defined in Network.Reddit.Types.Subreddit Methods fullname :: SubredditID -> Text Source # | |
| type Rep SubredditID Source # | |
Defined in Network.Reddit.Types.Subreddit type Rep SubredditID = D1 ('MetaData "SubredditID" "Network.Reddit.Types.Subreddit" "heddit-0.0.1-76ROQ5tOAm3CpLSaFw8ccb" 'True) (C1 ('MetaCons "SubredditID" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text))) | |
Information about a subreddit. Fields prefixed with userIs below apply to
the currently authenticated user
Constructors
| Subreddit | |
Fields
| |
Instances
Wrapper for parsing an array of recommended SubredditNames, which are
given as single-field JSON objects
Instances
| Show RecsList Source # | |
| Generic RecsList Source # | |
| FromJSON RecsList Source # | |
| type Rep RecsList Source # | |
Defined in Network.Reddit.Types.Subreddit type Rep RecsList = D1 ('MetaData "RecsList" "Network.Reddit.Types.Subreddit" "heddit-0.0.1-76ROQ5tOAm3CpLSaFw8ccb" 'True) (C1 ('MetaCons "RecsList" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Seq SubredditName)))) | |
data NameSearchResults Source #
Wrapper for parsing an object of SubredditName results when searching
subreddits by name
Instances
Rules/requirements
data SubredditRule Source #
A Subreddit rule. If you are a moderator, you can update the shortName,
description, violationReason, and ruleType fields. See
reorderSubredditRules. New rules may also
be created with NewSubredditRules
Constructors
| SubredditRule | |
Instances
Wrapper to parse JSON from endpoints that list SubredditRules
Instances
| Show RuleList Source # | |
| Generic RuleList Source # | |
| FromJSON RuleList Source # | |
| type Rep RuleList Source # | |
Defined in Network.Reddit.Types.Subreddit type Rep RuleList = D1 ('MetaData "RuleList" "Network.Reddit.Types.Subreddit" "heddit-0.0.1-76ROQ5tOAm3CpLSaFw8ccb" 'True) (C1 ('MetaCons "RuleList" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Seq SubredditRule)))) | |
data NewSubredditRule Source #
Represents a new SubredditRule that can be created by moderators
Constructors
| NewSubredditRule | |
Fields
| |
Instances
data PostedSubredditRule Source #
Wrapper for parsing newly created SubredditRules, after POSTing a
NewSubredditRule. Rather unbelievably, Reddit transmits these new
rules as a JSON object ... in a single element array ... encoded as a string
... inside another object!
Instances
The type of item that a SubredditRule applies to
Constructors
| CommentRule | |
| LinkRule | |
| AllRule |
Instances
| Eq RuleType Source # | |
| Ord RuleType Source # | |
Defined in Network.Reddit.Types.Subreddit | |
| Show RuleType Source # | |
| Generic RuleType Source # | |
| FromJSON RuleType Source # | |
| ToHttpApiData RuleType Source # | |
Defined in Network.Reddit.Types.Subreddit Methods toUrlPiece :: RuleType -> Text # toEncodedUrlPiece :: RuleType -> Builder # toHeader :: RuleType -> ByteString # toQueryParam :: RuleType -> Text # | |
| type Rep RuleType Source # | |
Defined in Network.Reddit.Types.Subreddit type Rep RuleType = D1 ('MetaData "RuleType" "Network.Reddit.Types.Subreddit" "heddit-0.0.1-76ROQ5tOAm3CpLSaFw8ccb" 'False) (C1 ('MetaCons "CommentRule" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "LinkRule" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AllRule" 'PrefixI 'False) (U1 :: Type -> Type))) | |
data PostRequirements Source #
Mod-created requirements for posting in a subreddit
Constructors
| PostRequirements | |
Fields
| |
Instances
data BodyRestriction Source #
Rules concerning the presence of self-text bodies in posts
Constructors
| BodyRequired | |
| BodyNotAllowed | |
| NoRestriction |