heddit-0.2: Reddit API bindings
Copyright(c) 2021 Rory Tyler Hayford
LicenseBSD-3-Clause
Maintainerrory.hayford@protonmail.com
Stabilityexperimental
PortabilityGHC
Safe HaskellNone
LanguageHaskell2010

Network.Reddit.Moderation

Description

Actions related to moderation. Assume that each action in this module requires moderator privileges, unless stated otherwise

Synopsis

Item moderation

These actions work on Items, i.e either Comments or Submissions. This module also exports variants that take unwrapped SubmissionIDs and CommentIDs to work with just one type of item (see below)

distinguishItem :: MonadReddit m => Distinction -> ItemID -> m () Source #

Distinguish an item. See distinguishComment for further comment-specific options

undistinguishItem :: MonadReddit m => ItemID -> m () Source #

Remove the distinction from an item, also removing the sticky flag for top-level comments

removeItem Source #

Arguments

:: MonadReddit m 
=> Maybe Body

A note for other mods. This is sent in second request if Just

-> Bool

Spam flag. Will remove the item from all listings if True

-> ItemID 
-> m () 

Remove an item from the subreddit with an optional note to other mods. Setting the isSpam parameter to True will entirely remove the item from subreddit listings

sendRemovalMessage :: MonadReddit m => RemovalMessage -> m () Source #

Send a removal message for an item. The precise action depends on the form of RemovalType

approveItem :: MonadReddit m => ItemID -> m () Source #

Approve an item, reverting a removal and resetting its report counter

lockItem :: MonadReddit m => ItemID -> m () Source #

Lock an item. See also unlockItem

unlockItem :: MonadReddit m => ItemID -> m () Source #

Unlock an item

ignoreItemReports :: MonadReddit m => ItemID -> m () Source #

Prevent all future reports on this item from sending notifications or appearing in moderation listings. See also unignoreItemReports, which reverses this action

unignoreItemReports :: MonadReddit m => ItemID -> m () Source #

Re-allow the item to trigger notifications and appear in moderation listings

Removal reasons

getRemovalReasons :: MonadReddit m => SubredditName -> m (Seq RemovalReason) Source #

Get a list of RemovalReasons for the given subreddit

createRemovalReason :: MonadReddit m => SubredditName -> Title -> Body -> m RemovalReasonID Source #

Create a new RemovalReason, returning the RemovalReasonID of the newly created reason

deleteRemovalReason :: MonadReddit m => SubredditName -> RemovalReasonID -> m () Source #

Delete the given removal reason

Moderation listings

Each of these retrieves a Listing ItemID ModItem. You can constrain the type of reports by passing the appropriate ItemType to the paginator options

getReports :: MonadReddit m => SubredditName -> Paginator ItemID ModItem -> m (Listing ItemID ModItem) Source #

Get the given subreddit's reported items

getModqueue :: MonadReddit m => SubredditName -> Paginator ItemID ModItem -> m (Listing ItemID ModItem) Source #

Get the given subreddit's moderation queue

getSpam :: MonadReddit m => SubredditName -> Paginator ItemID ModItem -> m (Listing ItemID ModItem) Source #

Get the given subreddit's items marked as spam

getEdited :: MonadReddit m => SubredditName -> Paginator ItemID ModItem -> m (Listing ItemID ModItem) Source #

Get the given subreddit's recently edited items

getUnmoderated :: MonadReddit m => SubredditName -> Paginator ItemID ModItem -> m (Listing ItemID ModItem) Source #

Get the given subreddit's unmoderated items

getModlog :: MonadReddit m => SubredditName -> Paginator ModActionID ModAction -> m (Listing ModActionID ModAction) Source #

Get a log of moderator actions for the given subreddit

Submission moderation

Includes re-exports from Network.Reddit.Submission

distinguishSubmission :: MonadReddit m => Distinction -> SubmissionID -> m () Source #

Distinguish a submission

undistinguishSubmission :: MonadReddit m => SubmissionID -> m () Source #

Remove the distinction from a submission

approveSubmission :: MonadReddit m => SubmissionID -> m () Source #

Approve a submission. See approveItem

lockSubmission :: MonadReddit m => SubmissionID -> m () Source #

Lock a submission. See lockItem

unlockSubmission :: MonadReddit m => SubmissionID -> m () Source #

Unlock a submission. See unlockItem

ignoreSubmissionReports :: MonadReddit m => SubmissionID -> m () Source #

Ignore reports for a submission. See ignoreItemReports

unignoreSubmissionReports :: MonadReddit m => SubmissionID -> m () Source #

Resume reports for a submission. See unignoreItemReports

unmarkNSFW :: MonadReddit m => SubmissionID -> m () Source #

Unmark a submission NSFW. The submission author can use this as well as the subreddit moderators

markNSFW :: MonadReddit m => SubmissionID -> m () Source #

Mark a submission NSFW. The submission author can use this as well as the subreddit moderators

setOC :: MonadReddit m => SubredditName -> SubmissionID -> m () Source #

Mark a submission as original content. In order for normal users to use this feature in addition to mods, the beta "Original Content" feature must be enabled in the subreddit settings

unsetOC :: MonadReddit m => SubredditName -> SubmissionID -> m () Source #

Unmark a submission as original content. In order for normal users to use this feature in addition to mods, the beta "Original Content" feature must be enabled in the subreddit settings

setSpoiler :: MonadReddit m => SubmissionID -> m () Source #

Mark the submission as containing spoilers

unsetSpoiler :: MonadReddit m => SubmissionID -> m () Source #

Unmark the submission as containing spoilers

stickySubmission Source #

Arguments

:: MonadReddit m 
=> Bool

When True, this will set the submission as the "bottom" sticky. Otherwise, the stickied submission will go to the top slot

-> SubmissionID 
-> m () 

Sticky the submission in the subreddit

unstickySubmission :: MonadReddit m => SubmissionID -> m () Source #

Unsticky the submission in the subreddit

setSuggestedSort Source #

Arguments

:: MonadReddit m 
=> Maybe ItemSort

If Nothing, will clear the existing sort

-> SubmissionID 
-> m () 

Set the suggested sort order for a submission

Comment moderation

showComment :: MonadReddit m => CommentID -> m () Source #

Show a comment that has been "collapsed" by crowd-control

distinguishComment Source #

Arguments

:: MonadReddit m 
=> Distinction 
-> Bool

Sticky flag

-> CommentID 
-> m () 

Distinguish aa comment. If True, the sticky param will set the comment at the top of the page. This only applies to top-level comments; the flg is otherwise ignored

undistinguishComment :: MonadReddit m => CommentID -> m () Source #

Undistinguish a comment, also removing its sticky flag if applicable

approveComment :: MonadReddit m => CommentID -> m () Source #

Approve a comment. See approveItem

lockComment :: MonadReddit m => CommentID -> m () Source #

Lock a comment. See lockItem

unlockComment :: MonadReddit m => CommentID -> m () Source #

Unlock a comment. See unlockItem

ignoreCommentReports :: MonadReddit m => CommentID -> m () Source #

Ignore reports for a comment. See ignoreItemReports

unignoreCommentReports :: MonadReddit m => CommentID -> m () Source #

Resume reports for a comment. See unignoreItemReports

Collections moderation

createCollection :: MonadReddit m => NewCollection -> m Collection Source #

Create a new collection, returning the new Collection upon success

deleteCollection :: MonadReddit m => CollectionID -> m () Source #

Delete the entire collection from the subreddit

addSubmissionToCollection :: MonadReddit m => CollectionID -> SubmissionID -> m () Source #

Add a submission to a collection

removeSubmissionFromCollection :: MonadReddit m => CollectionID -> SubmissionID -> m () Source #

Remove a submission from a collection

reorderCollection :: (MonadReddit m, Foldable t) => CollectionID -> t SubmissionID -> m () Source #

Reorder the submissions that comprise the collection by providing a container of SubmissionIDs in the new intended order

updateCollectionDescription :: MonadReddit m => CollectionID -> Body -> m () Source #

Update the description of the collection

updateCollectionTitle :: MonadReddit m => CollectionID -> Title -> m () Source #

Update the title of the collection

Subreddit relationships

Moderators

getModerators :: MonadReddit m => SubredditName -> m (Seq ModAccount) Source #

Get a list of information on all moderators for the given subreddit

getModerator :: MonadReddit m => SubredditName -> Username -> m (Maybe ModAccount) Source #

Get information about a single moderator, if such a moderator exists

updateModerator Source #

Arguments

:: (MonadReddit m, Foldable t) 
=> Maybe (t ModPermission)

If Nothing, grants all permissions. If Just and empty, all permissions are revoked. Otherwise, each of the given container of permissions is granted

-> SubredditName 
-> Username 
-> m () 

Update the permissions granted to a current moderator

removeModerator :: MonadReddit m => SubredditName -> Username -> m () Source #

Revoke the given user's mod status

abdicateModerator :: MonadReddit m => SubredditName -> m () Source #

Revoke the authenticated user's mod status in the given subreddit. Caution!

Mod invitations

inviteModerator :: MonadReddit m => SubredditName -> Username -> m () Source #

Invite a user to moderate the subreddit. This action will implicitly grant the invitee all moderator permissions on the subreddit. To control which specific set of permissions the invitee shall be allowed instead, see inviteModeratorWithPerms

inviteModeratorWithPerms Source #

Arguments

:: (MonadReddit m, Foldable t) 
=> t ModPermission

If empty, no permissions are granted

-> SubredditName 
-> Username 
-> m () 

Invite a user to moderate the subreddit with a specific set of permissions

getInvitees Source #

Arguments

:: MonadReddit m 
=> Maybe ModInviteeList

A previously obtained ModInviteeList that may contain before and after fields to paginate through entries

-> SubredditName 
-> m ModInviteeList 

Get a listing of users invited to moderate the subreddit. This endpoint only returns 25 results at a time, and does not use the Listing mechanism that prevails elsewhere. You can paginate through all invitees by passing previous ModInviteeList results to subsequent invocations

getInvitee :: MonadReddit m => SubredditName -> Username -> m (Maybe ModInvitee) Source #

Get information about a single invited user

updateInvitation Source #

Arguments

:: (MonadReddit m, Foldable t) 
=> Maybe (t ModPermission)

If Nothing, grants all permissions. If Just and empty, all permissions are revoked. Otherwise, each of the given container of permissions is granted

-> SubredditName 
-> Username 
-> m () 

Update the permissions granted to the mod invitee

revokeInvitation :: MonadReddit m => SubredditName -> Username -> m () Source #

Revoke an existing moderator invitation for the given user

acceptInvitation :: MonadReddit m => SubredditName -> m () Source #

Accept the invitation issued to the authenticated user to moderate the given subreddit

Contributors

getContributors :: MonadReddit m => SubredditName -> Paginator RelID RelInfo -> m (Listing RelID RelInfo) Source #

Get a list of contributors on the subreddit

getContributor :: MonadReddit m => SubredditName -> Username -> m (Maybe RelInfo) Source #

Get a single contributor, if such a user exists

addContributor :: MonadReddit m => SubredditName -> Username -> m () Source #

Give a user contributor status on the subreddit

removeContributor :: MonadReddit m => SubredditName -> Username -> m () Source #

Remove a contributor from the subreddit

abdicateContributor :: MonadReddit m => SubredditID -> m () Source #

AbdicateModerator your contributor status on the given subreddit

getWikiContributors :: MonadReddit m => SubredditName -> Paginator RelID RelInfo -> m (Listing RelID RelInfo) Source #

Get a list of wiki contributors on the subreddit

getWikiContributor :: MonadReddit m => SubredditName -> Username -> m (Maybe RelInfo) Source #

Get a single wiki contributor, if such a user exists

addWikiContributor :: MonadReddit m => SubredditName -> Username -> m () Source #

Give a user wiki contributor privileges on the subreddit

removeWikiContributor :: MonadReddit m => SubredditName -> Username -> m () Source #

Revoke wiki contributor privileges on the subreddit

Bans

getBans :: MonadReddit m => SubredditName -> Paginator RelID Ban -> m (Listing RelID Ban) Source #

Get the banned users for a given subreddit

getBan :: MonadReddit m => SubredditName -> Username -> m (Maybe Ban) Source #

Check to see if a given user is banned on a particular subreddit, returning the details of the Ban if so

banUser :: MonadReddit m => BanNotes -> SubredditName -> Username -> m () Source #

Issue a ban against a user on the given subreddit, with the provided notes and (optional) duration

unbanUser :: MonadReddit m => SubredditName -> Username -> m () Source #

Remove an existing ban on a user

getWikibans :: MonadReddit m => SubredditName -> Paginator RelID RelInfo -> m (Listing RelID RelInfo) Source #

Get a list of users banned on the subreddit wiki

getWikiban :: MonadReddit m => SubredditName -> Username -> m (Maybe RelInfo) Source #

Get information on a single user banned on the subreddit wiki, if such a ban exists

wikibanUser :: MonadReddit m => BanNotes -> SubredditName -> Username -> m () Source #

Ban a user from participating in the wiki

wikiUnbanUser :: MonadReddit m => SubredditName -> Username -> m () Source #

Reverse an existing wiki ban for a user

getMuted :: MonadReddit m => SubredditName -> Paginator MuteID MuteInfo -> m (Listing MuteID MuteInfo) Source #

Get a list of users muted on the subreddit wiki

getMutedUser :: MonadReddit m => SubredditName -> Username -> m (Maybe MuteInfo) Source #

Get information on a single user muted on the subreddit wiki, if such a ban exists

unmuteUser :: MonadReddit m => SubredditName -> Username -> m () Source #

Unmute a single user on the subreddit

muteUser :: MonadReddit m => BanNotes -> SubredditName -> Username -> m () Source #

Mute a single user on the subreddit

Subreddit settings

getSubredditSettings :: MonadReddit m => SubredditName -> m SubredditSettings Source #

Get the configured SubredditSettings for a given subreddit

setSubredditSettings :: MonadReddit m => SubredditSettings -> m () Source #

Configure a subreddit with the provided SubredditSettings

Subreddit rules

To get a list of the current rules for a Subreddit, an action which does not require moderator privileges, see getSubredditRules. Also note that a subreddit may only configure up to 15 individual rules at a time, and that trying to add more may raise an exception

addSubredditRule :: MonadReddit m => SubredditName -> NewSubredditRule -> m SubredditRule Source #

Add a rule to the subreddit. The newly created SubredditRule is returned upon success

deleteSubredditRule :: MonadReddit m => SubredditName -> Name -> m () Source #

Delete the rule identified by the given name from the subreddit

updateSubredditRule Source #

Arguments

:: MonadReddit m 
=> SubredditName 
-> Name

The old name for the rule. This is required even if you are not changing the name of the rule, as Reddit has no other data to uniquely identify the rule

-> SubredditRule 
-> m SubredditRule 

Update an existing subreddit rule. You must provide the shortName of the existing rule as a parameter in order for Reddit to identify the rule. The shortName can be changed by updating the SubredditRule record, however

reorderSubredditRules Source #

Arguments

:: (MonadReddit m, Foldable t) 
=> SubredditName 
-> t Name

The desired order of the rules. Must contain all of the shortNames of currently configured SubredditRules on the subreddit

-> m () 

Reorder the subreddit rules

Flair

configureSubredditFlair :: MonadReddit m => SubredditName -> FlairConfig -> m () Source #

Get a list of usernames and the flair currently assigned to them

getUserFlair :: MonadReddit m => SubredditName -> Username -> m (Maybe UserFlair) Source #

Get the UserFlair that corresponds to a Username

setUserFlair :: MonadReddit m => FlairSelection -> Username -> m () Source #

Set a user's flair. If the CSSClass is provided in the FlairChoice, it takes precedence over the FlairID contained in that record

setUserFlairs :: (MonadReddit m, Foldable t) => SubredditName -> t AssignedFlair -> m (Seq FlairResult) Source #

Set, update, or deleteSRImage the flair of multiple users at once, given a container of AssignedFlairs

deleteUserFlair :: MonadReddit m => SubredditName -> Username -> m () Source #

Delete a user's flair on the given subreddit

createFlairTemplate :: MonadReddit m => FlairType -> SubredditName -> FlairTemplate -> m FlairTemplate Source #

Create a new FlairTemplate for either users or submissions, returning the newly created template

updateFlairTemplate :: MonadReddit m => FlairType -> SubredditName -> FlairTemplate -> m () Source #

Update an existing FlairTemplate for either users or submissions

createUserFlairTemplate :: MonadReddit m => SubredditName -> FlairTemplate -> m FlairTemplate Source #

Create a new FlairTemplate for users, returning the newly created template

createSubmissionFlairTemplate :: MonadReddit m => SubredditName -> FlairTemplate -> m FlairTemplate Source #

Create a new FlairTemplate for submissions, returning the newly created template

updateSubmissionFlairTemplate :: MonadReddit m => SubredditName -> FlairTemplate -> m () Source #

Update an existing FlairTemplate for submissions

deleteFlairTemplate :: MonadReddit m => SubredditName -> FlairID -> m () Source #

Delete a user or submission flair template given its FlairID

clearUserFlairTemplates :: MonadReddit m => SubredditName -> m () Source #

Clear all of the user flair templates on the subreddit

clearSubmissionFlairTemplates :: MonadReddit m => SubredditName -> m () Source #

Clear all of the user flair templates on the subreddit

clearFlairTemplates :: MonadReddit m => FlairType -> SubredditName -> m () Source #

Clear all of the user or submission flair templates on the subreddit

Stylesheets, images and widgets

getStylesheet :: MonadReddit m => SubredditName -> m Stylesheet Source #

Get the Stylesheet that has been configured for the given subreddit

updateStylesheet Source #

Arguments

:: MonadReddit m 
=> SubredditName 
-> Maybe Text

The reason for the change, if any

-> Text

The new contents of the stylesheet

-> m () 

Update a given subreddit's stylesheet with new contents, which must be valid CSS

Images

Reddit only allows JPEG or PNG images in stylsheets, and further requires that all -- uploaded images be less than 500Kb in size. Each action that uploads an image file to stylesheets validates both of these constraints, throwing a ClientException in the event that they are not satisfied.

Note that most of the actions that delete images will appear to succeed even if the named image does not exists

uploadImage :: MonadReddit m => Text -> FilePath -> SubredditName -> m () Source #

Upload an image file to add to the given subreddit's stylesheet

uploadHeader :: MonadReddit m => Text -> FilePath -> SubredditName -> m () Source #

Upload the image header for the given subreddit's stylesheet

uploadMobileIcon :: MonadReddit m => Text -> FilePath -> SubredditName -> m () Source #

Upload a mobile icon for the given subreddit

uploadMobileHeader :: MonadReddit m => Text -> FilePath -> SubredditName -> m () Source #

Upload the mobile header for the given subreddit

deleteImage :: MonadReddit m => Text -> SubredditName -> m () Source #

Delete the named image from the given subreddit's stylesheet

deleteHeader :: MonadReddit m => SubredditName -> m () Source #

Delete header image from the given subreddit

deleteMobileIcon :: MonadReddit m => Text -> SubredditName -> m () Source #

Delete the named image from the given subreddit's stylesheet

uploadBanner :: MonadReddit m => SubredditName -> FilePath -> m () Source #

Upload a banner for the subreddit (redesign only)

deleteBanner :: MonadReddit m => SubredditName -> m () Source #

Delete the subreddit banner, even if it does not exist (redesign only)

uploadBannerAdditional :: MonadReddit m => Maybe StyleImageAlignment -> SubredditName -> FilePath -> m () Source #

Upload the additional image banner for the subreddit (redesign only)

deleteBannerAdditional :: MonadReddit m => SubredditName -> m () Source #

Delete all additional banners, including the hover banner (redesign only)

uploadBannerHover :: MonadReddit m => SubredditName -> FilePath -> m () Source #

Upload the banner hover image for the subreddit (redesign only)

deleteBannerHover :: MonadReddit m => SubredditName -> m () Source #

Delete the subreddit banner hover image (redesign only)

Wiki

addWikiEditor :: MonadReddit m => SubredditName -> WikiPageName -> Username -> m () Source #

Grant editing privileges to the given Username on the subreddit's wikipage

removeWikiEditor :: MonadReddit m => SubredditName -> WikiPageName -> Username -> m () Source #

Revoke the given Username's editing privileges on the subreddit's wikipage

getWikiPageSettings :: MonadReddit m => SubredditName -> WikiPageName -> m WikiPageSettings Source #

Get the WikiPageSettings for the subreddit's given wikipage

revertWikiPage :: MonadReddit m => SubredditName -> WikiPageName -> WikiRevisionID -> m () Source #

Revert the wikipage to the given revision

Modmail

getModmail :: MonadReddit m => m Modmail Source #

Get all of the authenticated user's modmail. See getModmailWithOpts in order to control how modmail is sorted or filtered

getModmailWithOpts :: MonadReddit m => ModmailOpts -> m Modmail Source #

Get the authenticated user's modmail with the provided ModmailOpts

getUnreadModmailCount :: MonadReddit m => m (HashMap ModmailState Word) Source #

Get the number of unread modmail conversations according to conversation state

replyToConversation :: MonadReddit m => ModmailReply -> ModmailID -> m ModmailConversation Source #

Reply to the modmail conversation

archiveConversation :: MonadReddit m => ModmailID -> m () Source #

Archive a modmail conversation

unarchiveConversation :: MonadReddit m => ModmailID -> m () Source #

Archive a modmail conversation

highlightConversation :: MonadReddit m => ModmailID -> m () Source #

Highlight a given conversation

unhighlightConversation :: MonadReddit m => ModmailID -> m () Source #

Unhighlight a given conversation

markConversationsRead :: (Foldable t, MonadReddit m) => t ModmailID -> m () Source #

Mark the conversations corresponding to a container of ModmailIDs as read

markConversationRead :: MonadReddit m => ModmailID -> m () Source #

Mark the conversation corresponding to a single ModmailID as read

markConversationsUnread :: (Foldable t, MonadReddit m) => t ModmailID -> m () Source #

Mark the conversations corresponding to a container of ModmailIDs as unread

markConversationUnread :: MonadReddit m => ModmailID -> m () Source #

Mark the conversation corresponding to a single ModmailID as unread

bulkReadConversations :: (MonadReddit m, Foldable t) => Maybe ModmailState -> t SubredditName -> m (Seq ModmailID) Source #

Mark all mail belonging to the subreddits as read, returning the ModmailIDs of the newly read conversations

muteModmailUser :: MonadReddit m => Word -> ModmailID -> m () Source #

Mute the non-moderator user associated with the modmail conversation. Valid durations for the days parameter are 3, 7, and 28

unmuteModmailUser :: MonadReddit m => ModmailID -> m () Source #

Unmute the non-moderator user associated with the modmail conversation

Widgets

deleteWidget :: MonadReddit m => SubredditName -> WidgetID -> m () Source #

Delete a widget, given its ID

updateWidget :: MonadReddit m => SubredditName -> WidgetID -> Widget -> m Widget Source #

Update an existing widget, given its ID. You must wrap the widget type in the appropriate Widget constructors, as this action may be performed on heterogeneous widget types. The update widget is returned upon success

reorderWidgets :: (MonadReddit m, Foldable t) => Maybe WidgetSection -> SubredditName -> t WidgetID -> m () Source #

Reorder the widgets corresponding to a container of widget IDs in the given section. At the moment, reddit does not allow for the Topbar to be reordered. If you attempt to reorder this section, you might receive an InvalidJSON exception

addButtonWidget :: MonadReddit m => SubredditName -> ButtonWidget -> m ButtonWidget Source #

Add a button widget. Returns the created widget upon success. See the docs for ButtonWidget for the available options

addCalendarWidget Source #

Arguments

:: MonadReddit m 
=> Maybe Body

A short description of the widget, in markdown

-> SubredditName 
-> CalendarWidget 
-> m CalendarWidget 

Add a calendar widget, which requires an active Google account and public calendar. Returns the created widget upon success. See the docs for CalendarWidget for the available options

addCommunityListWidget Source #

Arguments

:: MonadReddit m 
=> Maybe Body

A short description of the widget, in markdown

-> SubredditName 
-> CommunityListWidget 
-> m CommunityListWidget 

Add a community list widget. Returns the created widget upon success. See the docs for CommunityListWidget for the available options

addCustomWidget :: MonadReddit m => SubredditName -> CustomWidget -> m CustomWidget Source #

Add a custom widget. Returns the created widget upon success. See the docs for CustomWidget for the available options

addImageWidget :: MonadReddit m => SubredditName -> ImageWidget -> m ImageWidget Source #

Add an image widget. Returns the created widget upon success. See the docs for ImageWidget for the available options

addMenuWidget :: MonadReddit m => SubredditName -> MenuWidget -> m MenuWidget Source #

Add a menu widget. Returns the created widget upon success. See the docs for MenuWidget for the available options

addPostFlairWidget :: MonadReddit m => SubredditName -> PostFlairWidget -> m PostFlairWidget Source #

Add a post flair widget. Returns the created widget upon success. See the docs for PostFlairWidget for the available options along with mkPostFlairWidget

addTextAreaWidget :: MonadReddit m => SubredditName -> TextAreaWidget -> m TextAreaWidget Source #

Add a text area widget. Returns the created widget upon success. See the docs for TextAreaWidget for the available options as well as mkTextAreaWidget

uploadWidgetImage :: MonadReddit m => SubredditName -> FilePath -> m UploadURL Source #

Upload a widget image from a filepath. This returns the URL of the new image, which is required for creating certain widgets

Emoji

addEmoji Source #

Arguments

:: MonadReddit m 
=> SubredditName 
-> FilePath

Must be an image in jpeg/png format, with maximum dimensions of 128 x 128px and size of 64KB

-> Emoji 
-> m () 

Add a new emoji by uploading an image. See mkEmoji to conveniently create new Emojis to add. Also note the restrictions on the filepath argument below, which are not currently validated by this action. This action can also be used to update the image for an existing emoji (see getSubredditEmoji) to get a list of emojis for a subreddit

deleteEmoji :: MonadReddit m => SubredditName -> EmojiName -> m () Source #

Delete a single emoji and associated s3 image

updateEmoji :: MonadReddit m => SubredditName -> Emoji -> m () Source #

Update an emoji. Only the boolean permissions fields will be sent. If you would like to change the image associated with the emoji name, use addEmoji with an updated filepath

setCustomEmojiSize :: MonadReddit m => SubredditName -> Maybe (Int, Int) -> m () Source #

Set the (h, w) dimensions for all custom emojis on the subreddit. Both dimensions must be between 16px and 40px. A Nothing argument will disable custom sizes

Misc

getTraffic :: MonadReddit m => SubredditName -> m Traffic Source #

Get traffic statistics for the given subreddit

Types

data SubredditType Source #

The privacy level for the subreddit

Instances

Instances details
Eq SubredditType Source # 
Instance details

Defined in Network.Reddit.Types.Internal

Show SubredditType Source # 
Instance details

Defined in Network.Reddit.Types.Internal

Generic SubredditType Source # 
Instance details

Defined in Network.Reddit.Types.Internal

Associated Types

type Rep SubredditType :: Type -> Type #

FromJSON SubredditType Source # 
Instance details

Defined in Network.Reddit.Types.Internal

ToHttpApiData SubredditType Source # 
Instance details

Defined in Network.Reddit.Types.Internal

type Rep SubredditType Source # 
Instance details

Defined in Network.Reddit.Types.Internal

type Rep SubredditType = D1 ('MetaData "SubredditType" "Network.Reddit.Types.Internal" "heddit-0.2-6CPbqZeiNUj1PM6nX368ZU" 'False) (((C1 ('MetaCons "Public" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Restricted" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Private" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Archived" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "GoldRestricted" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "EmployeesOnly" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "GoldOnly" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "UserSubreddit" 'PrefixI 'False) (U1 :: Type -> Type))))

data FlairPosition Source #

Position for subreddit flair

Constructors

OnLeft 
OnRight 

Instances

Instances details
Eq FlairPosition Source # 
Instance details

Defined in Network.Reddit.Types.Flair

Show FlairPosition Source # 
Instance details

Defined in Network.Reddit.Types.Flair

Generic FlairPosition Source # 
Instance details

Defined in Network.Reddit.Types.Flair

Associated Types

type Rep FlairPosition :: Type -> Type #

ToHttpApiData FlairPosition Source # 
Instance details

Defined in Network.Reddit.Types.Flair

type Rep FlairPosition Source # 
Instance details

Defined in Network.Reddit.Types.Flair

type Rep FlairPosition = D1 ('MetaData "FlairPosition" "Network.Reddit.Types.Flair" "heddit-0.2-6CPbqZeiNUj1PM6nX368ZU" 'False) (C1 ('MetaCons "OnLeft" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OnRight" 'PrefixI 'False) (U1 :: Type -> Type))

data FlairConfig Source #

Configuration options for subreddit flair, including both user and submission flair. Also see defaultFlairConfig

Instances

Instances details
Eq FlairConfig Source # 
Instance details

Defined in Network.Reddit.Types.Flair

Show FlairConfig Source # 
Instance details

Defined in Network.Reddit.Types.Flair

Generic FlairConfig Source # 
Instance details

Defined in Network.Reddit.Types.Flair

Associated Types

type Rep FlairConfig :: Type -> Type #

ToForm FlairConfig Source # 
Instance details

Defined in Network.Reddit.Types.Flair

Methods

toForm :: FlairConfig -> Form #

type Rep FlairConfig Source # 
Instance details

Defined in Network.Reddit.Types.Flair

data LanguageCode where Source #

The language in which the subreddit is available, as configured in the SubredditSettings

Bundled Patterns

pattern ZH :: LanguageCode 
pattern VI :: LanguageCode 
pattern UK :: LanguageCode 
pattern TR :: LanguageCode 
pattern TH :: LanguageCode 
pattern TA :: LanguageCode 
pattern SV :: LanguageCode 
pattern SR :: LanguageCode 
pattern SL :: LanguageCode 
pattern SK :: LanguageCode 
pattern RU :: LanguageCode 
pattern RO :: LanguageCode 
pattern PT :: LanguageCode 
pattern PL :: LanguageCode 
pattern NO :: LanguageCode 
pattern NN :: LanguageCode 
pattern NL :: LanguageCode 
pattern MS :: LanguageCode 
pattern LV :: LanguageCode 
pattern LA :: LanguageCode 
pattern KO :: LanguageCode 
pattern JA :: LanguageCode 
pattern IT :: LanguageCode 
pattern IS :: LanguageCode 
pattern ID :: LanguageCode 
pattern HY :: LanguageCode 
pattern HU :: LanguageCode 
pattern HR :: LanguageCode 
pattern HI :: LanguageCode 
pattern HE :: LanguageCode 
pattern GD :: LanguageCode 
pattern FR :: LanguageCode 
pattern FI :: LanguageCode 
pattern FA :: LanguageCode 
pattern EU :: LanguageCode 
pattern ES :: LanguageCode 
pattern EO :: LanguageCode 
pattern EN :: LanguageCode 
pattern EL :: LanguageCode 
pattern DE :: LanguageCode 
pattern DA :: LanguageCode 
pattern CY :: LanguageCode 
pattern CS :: LanguageCode 
pattern CA :: LanguageCode 
pattern BS :: LanguageCode 
pattern BG :: LanguageCode 
pattern AR :: LanguageCode 
pattern AF :: LanguageCode 
pattern GL :: LanguageCode 
pattern ET :: LanguageCode 
pattern LT :: LanguageCode 
pattern BE :: LanguageCode 

data Traffic Source #

Traffic statistics for a given subreddit

Instances

Instances details
Eq Traffic Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Methods

(==) :: Traffic -> Traffic -> Bool #

(/=) :: Traffic -> Traffic -> Bool #

Show Traffic Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Generic Traffic Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Associated Types

type Rep Traffic :: Type -> Type #

Methods

from :: Traffic -> Rep Traffic x #

to :: Rep Traffic x -> Traffic #

FromJSON Traffic Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep Traffic Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep Traffic = D1 ('MetaData "Traffic" "Network.Reddit.Types.Moderation" "heddit-0.2-6CPbqZeiNUj1PM6nX368ZU" 'False) (C1 ('MetaCons "Traffic" 'PrefixI 'True) (S1 ('MetaSel ('Just "hour") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Seq TrafficStat)) :*: (S1 ('MetaSel ('Just "day") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Seq TrafficStat)) :*: S1 ('MetaSel ('Just "month") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Seq TrafficStat)))))

data TrafficStat Source #

An individual statistic for a subreddit's traffic

Instances

Instances details
Eq TrafficStat Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Show TrafficStat Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Generic TrafficStat Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Associated Types

type Rep TrafficStat :: Type -> Type #

FromJSON TrafficStat Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep TrafficStat Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep TrafficStat = D1 ('MetaData "TrafficStat" "Network.Reddit.Types.Moderation" "heddit-0.2-6CPbqZeiNUj1PM6nX368ZU" 'False) (C1 ('MetaCons "TrafficStat" 'PrefixI 'True) ((S1 ('MetaSel ('Just "timestamp") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 UTCTime) :*: S1 ('MetaSel ('Just "uniqueViews") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Integer)) :*: (S1 ('MetaSel ('Just "totalViews") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Integer) :*: S1 ('MetaSel ('Just "subscribers") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Integer)))))

data StyleImageAlignment Source #

Alignment for certain StructuredStyleImages

Instances

Instances details
Eq StyleImageAlignment Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Show StyleImageAlignment Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Generic StyleImageAlignment Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Associated Types

type Rep StyleImageAlignment :: Type -> Type #

ToHttpApiData StyleImageAlignment Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep StyleImageAlignment Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep StyleImageAlignment = D1 ('MetaData "StyleImageAlignment" "Network.Reddit.Types.Moderation" "heddit-0.2-6CPbqZeiNUj1PM6nX368ZU" 'False) (C1 ('MetaCons "LeftAligned" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CenterAligned" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RightAligned" 'PrefixI 'False) (U1 :: Type -> Type)))

data StructuredStyleImage Source #

Represents one of the style images that may be uploaded

Instances

Instances details
Eq StructuredStyleImage Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Show StructuredStyleImage Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Generic StructuredStyleImage Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Associated Types

type Rep StructuredStyleImage :: Type -> Type #

ToHttpApiData StructuredStyleImage Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep StructuredStyleImage Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep StructuredStyleImage = D1 ('MetaData "StructuredStyleImage" "Network.Reddit.Types.Moderation" "heddit-0.2-6CPbqZeiNUj1PM6nX368ZU" 'False) (C1 ('MetaCons "BannerBackground" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BannerAdditional" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BannerHover" 'PrefixI 'False) (U1 :: Type -> Type)))

data S3ModerationLease Source #

Used to upload style assets and images to Reddit's servers with moderator privileges

Instances

Instances details
Eq S3ModerationLease Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Show S3ModerationLease Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Generic S3ModerationLease Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Associated Types

type Rep S3ModerationLease :: Type -> Type #

FromJSON S3ModerationLease Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep S3ModerationLease Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep S3ModerationLease = D1 ('MetaData "S3ModerationLease" "Network.Reddit.Types.Moderation" "heddit-0.2-6CPbqZeiNUj1PM6nX368ZU" 'False) (C1 ('MetaCons "S3ModerationLease" 'PrefixI 'True) ((S1 ('MetaSel ('Just "action") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 URL) :*: S1 ('MetaSel ('Just "fields") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (HashMap Text Text))) :*: (S1 ('MetaSel ('Just "key") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "websocketURL") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 URL))))

data SubredditImage Source #

An image belonging to a Stylesheet

Constructors

SubredditImage Name Text URL 

data Stylesheet Source #

The CSS stylesheet and images for a subreddit

Instances

Instances details
Eq Stylesheet Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Show Stylesheet Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Generic Stylesheet Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Associated Types

type Rep Stylesheet :: Type -> Type #

FromJSON Stylesheet Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep Stylesheet Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep Stylesheet = D1 ('MetaData "Stylesheet" "Network.Reddit.Types.Moderation" "heddit-0.2-6CPbqZeiNUj1PM6nX368ZU" 'False) (C1 ('MetaCons "Stylesheet" 'PrefixI 'True) (S1 ('MetaSel ('Just "stylesheet") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text) :*: (S1 ('MetaSel ('Just "images") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Seq SubredditImage)) :*: S1 ('MetaSel ('Just "subredditID") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 SubredditID))))

data ModActionType Source #

Classification for ModActions

Instances

Instances details
Eq ModActionType Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Ord ModActionType Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Show ModActionType Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Generic ModActionType Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Associated Types

type Rep ModActionType :: Type -> Type #

FromJSON ModActionType Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

ToHttpApiData ModActionType Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep ModActionType Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep ModActionType = D1 ('MetaData "ModActionType" "Network.Reddit.Types.Moderation" "heddit-0.2-6CPbqZeiNUj1PM6nX368ZU" 'False) (((((C1 ('MetaCons "BanUser" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "UnbanUser" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SpamLink" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "RemoveLink" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ApproveLink" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SpamComment" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "RemoveComment" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ApproveComment" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AddModerator" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "ShowComment" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "InviteModerator" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "UninviteModerator" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AcceptModeratorInvite" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "RemoveModerator" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "AddContributor" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RemoveContributor" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "EditSettings" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "EditFlair" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Distinguish" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MarkNSFW" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "WikiBanned" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "WikiContrib" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "WikiUnbanned" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "WikiPageListed" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RemoveWikiContributor" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "WikiRevise" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "WikiPermLevel" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "IgnoreReports" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "UnignoreReports" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SetPermissions" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "SetSuggestedSort" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Sticky" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Unsticky" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "SetContestMode" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "UnsetContestMode" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Lock" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "Unlock" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MuteUser" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "UnmuteUser" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CreateRule" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "EditRule" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ReorderRules" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DeleteRule" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "Spoiler" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Unspoiler" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "MarkOriginalContent" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Collections" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "Events" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "DeleteOverriddenClassification" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OverrideClassification" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "ReorderModerators" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SnoozeReports" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "UnsnoozeReports" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OtherModAction" 'PrefixI 'False) (U1 :: Type -> Type)))))))

data ModActionID Source #

Identifier for an issued ModAction

Instances

Instances details
Eq ModActionID Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Show ModActionID Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Generic ModActionID Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Associated Types

type Rep ModActionID :: Type -> Type #

FromJSON ModActionID Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

ToHttpApiData ModActionID Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Thing ModActionID Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep ModActionID Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep ModActionID = D1 ('MetaData "ModActionID" "Network.Reddit.Types.Moderation" "heddit-0.2-6CPbqZeiNUj1PM6nX368ZU" 'True) (C1 ('MetaCons "ModActionID" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

data ModActionOpts Source #

Options for filtering/paginating Listings of ModActions

Instances

Instances details
Eq ModActionOpts Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Show ModActionOpts Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Generic ModActionOpts Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Associated Types

type Rep ModActionOpts :: Type -> Type #

type Rep ModActionOpts Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep ModActionOpts = D1 ('MetaData "ModActionOpts" "Network.Reddit.Types.Moderation" "heddit-0.2-6CPbqZeiNUj1PM6nX368ZU" 'False) (C1 ('MetaCons "ModActionOpts" 'PrefixI 'True) (S1 ('MetaSel ('Just "action") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe ModActionType)) :*: S1 ('MetaSel ('Just "moderator") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Username))))

data ModAction Source #

An action issued by a moderator. The various fields prefixed target can refer to comments or submissions, where applicable

Instances

Instances details
Eq ModAction Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Show ModAction Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Generic ModAction Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Associated Types

type Rep ModAction :: Type -> Type #

FromJSON ModAction Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Paginable ModAction Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep ModAction Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type PaginateOptions ModAction Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type PaginateThing ModAction Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

data NewConversation Source #

A new, mod-created modmail conversation

Instances

Instances details
Eq NewConversation Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Show NewConversation Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Generic NewConversation Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Associated Types

type Rep NewConversation :: Type -> Type #

ToForm NewConversation Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep NewConversation Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

data ModmailReply Source #

A new reply to a ModmailConversation

Constructors

ModmailReply Body Bool Bool 

Instances

Instances details
Eq ModmailReply Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Show ModmailReply Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Generic ModmailReply Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Associated Types

type Rep ModmailReply :: Type -> Type #

ToForm ModmailReply Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Methods

toForm :: ModmailReply -> Form #

type Rep ModmailReply Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep ModmailReply = D1 ('MetaData "ModmailReply" "Network.Reddit.Types.Moderation" "heddit-0.2-6CPbqZeiNUj1PM6nX368ZU" 'False) (C1 ('MetaCons "ModmailReply" 'PrefixI 'True) (S1 ('MetaSel ('Just "body") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Body) :*: (S1 ('MetaSel ('Just "isAuthorHidden") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "isInternal") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool))))

data ModmailState Source #

The state of the modmail, for use when filtering mail

Instances

Instances details
Eq ModmailState Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Show ModmailState Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Generic ModmailState Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Associated Types

type Rep ModmailState :: Type -> Type #

Hashable ModmailState Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

FromJSON ModmailState Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

FromJSONKey ModmailState Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

ToHttpApiData ModmailState Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep ModmailState Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep ModmailState = D1 ('MetaData "ModmailState" "Network.Reddit.Types.Moderation" "heddit-0.2-6CPbqZeiNUj1PM6nX368ZU" 'False) (((C1 ('MetaCons "AllModmail" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NewModmail" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Appeals" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Notifications" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Inbox" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "InProgress" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ArchivedMail" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Highlighted" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "JoinRequests" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ModModmail" 'PrefixI 'False) (U1 :: Type -> Type)))))

data ModmailSort Source #

Order to sort modmail in

Instances

Instances details
Eq ModmailSort Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Show ModmailSort Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Generic ModmailSort Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Associated Types

type Rep ModmailSort :: Type -> Type #

ToHttpApiData ModmailSort Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep ModmailSort Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep ModmailSort = D1 ('MetaData "ModmailSort" "Network.Reddit.Types.Moderation" "heddit-0.2-6CPbqZeiNUj1PM6nX368ZU" 'False) ((C1 ('MetaCons "FromUser" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "FromMod" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "RecentMail" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "UnreadMail" 'PrefixI 'False) (U1 :: Type -> Type)))

data ModmailOpts Source #

Options for filtering/paginating modmail endpoints. Notably, this is an entirely different mechanism than the usual Listings elsewhere on Reddit

Instances

Instances details
Eq ModmailOpts Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Show ModmailOpts Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Generic ModmailOpts Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Associated Types

type Rep ModmailOpts :: Type -> Type #

ToForm ModmailOpts Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Methods

toForm :: ModmailOpts -> Form #

type Rep ModmailOpts Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

data ModmailAuthor Source #

An author in a ModmailConversation; can be either a mod or a non-mod user

Instances

Instances details
Eq ModmailAuthor Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Show ModmailAuthor Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Generic ModmailAuthor Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Associated Types

type Rep ModmailAuthor :: Type -> Type #

FromJSON ModmailAuthor Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep ModmailAuthor Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

data ModmailMessage Source #

A single message in a ModmailConversation

Instances

Instances details
Eq ModmailMessage Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Show ModmailMessage Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Generic ModmailMessage Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Associated Types

type Rep ModmailMessage :: Type -> Type #

FromJSON ModmailMessage Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep ModmailMessage Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

data ModmailObjID Source #

A mapping to a modmail action to its ID

Constructors

ModmailObjID Text Text 

Instances

Instances details
Eq ModmailObjID Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Show ModmailObjID Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Generic ModmailObjID Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Associated Types

type Rep ModmailObjID :: Type -> Type #

FromJSON ModmailObjID Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep ModmailObjID Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep ModmailObjID = D1 ('MetaData "ModmailObjID" "Network.Reddit.Types.Moderation" "heddit-0.2-6CPbqZeiNUj1PM6nX368ZU" 'False) (C1 ('MetaCons "ModmailObjID" 'PrefixI 'True) (S1 ('MetaSel ('Just "objID") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "key") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text)))

type ModmailID = Text Source #

The ID of a particular modmail conversation

data ModmailConversation Source #

A single modmail conversation

Instances

Instances details
Eq ModmailConversation Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Show ModmailConversation Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Generic ModmailConversation Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Associated Types

type Rep ModmailConversation :: Type -> Type #

FromJSON ModmailConversation Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep ModmailConversation Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep ModmailConversation = D1 ('MetaData "ModmailConversation" "Network.Reddit.Types.Moderation" "heddit-0.2-6CPbqZeiNUj1PM6nX368ZU" 'False) (C1 ('MetaCons "ModmailConversation" 'PrefixI 'True) (((S1 ('MetaSel ('Just "modmailID") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ModmailID) :*: (S1 ('MetaSel ('Just "subject") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Subject) :*: S1 ('MetaSel ('Just "messages") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Seq ModmailMessage)))) :*: (S1 ('MetaSel ('Just "numMessages") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Integer) :*: (S1 ('MetaSel ('Just "subreddit") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 SubredditName) :*: S1 ('MetaSel ('Just "participant") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe ModmailAuthor))))) :*: ((S1 ('MetaSel ('Just "objIDs") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Seq ModmailObjID)) :*: (S1 ('MetaSel ('Just "lastUpdated") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 UTCTime) :*: S1 ('MetaSel ('Just "lastUserUpdate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe UTCTime)))) :*: (S1 ('MetaSel ('Just "lastModUpdate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe UTCTime)) :*: (S1 ('MetaSel ('Just "isHighlighted") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "isInternal") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool))))))

newtype Modmail Source #

Moderator mail. Reddit no longer supports the older, message-based interface for modmail

Instances

Instances details
Eq Modmail Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Methods

(==) :: Modmail -> Modmail -> Bool #

(/=) :: Modmail -> Modmail -> Bool #

Show Modmail Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Generic Modmail Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Associated Types

type Rep Modmail :: Type -> Type #

Methods

from :: Modmail -> Rep Modmail x #

to :: Rep Modmail x -> Modmail #

FromJSON Modmail Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep Modmail Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep Modmail = D1 ('MetaData "Modmail" "Network.Reddit.Types.Moderation" "heddit-0.2-6CPbqZeiNUj1PM6nX368ZU" 'True) (C1 ('MetaCons "Modmail" 'PrefixI 'True) (S1 ('MetaSel ('Just "conversations") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Seq ModmailConversation))))

data BanNotes Source #

Details of a new ban to apply to a user

Constructors

BanNotes Body Body (Maybe Word) Body 

Instances

Instances details
Eq BanNotes Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Show BanNotes Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Generic BanNotes Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Associated Types

type Rep BanNotes :: Type -> Type #

Methods

from :: BanNotes -> Rep BanNotes x #

to :: Rep BanNotes x -> BanNotes #

ToForm BanNotes Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Methods

toForm :: BanNotes -> Form #

type Rep BanNotes Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep BanNotes = D1 ('MetaData "BanNotes" "Network.Reddit.Types.Moderation" "heddit-0.2-6CPbqZeiNUj1PM6nX368ZU" 'False) (C1 ('MetaCons "BanNotes" 'PrefixI 'True) ((S1 ('MetaSel ('Just "banMessage") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Body) :*: S1 ('MetaSel ('Just "banReason") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Body)) :*: (S1 ('MetaSel ('Just "duration") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Word)) :*: S1 ('MetaSel ('Just "note") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Body))))

newtype MuteID Source #

Identifies relationships representing muted users

Constructors

MuteID Text 

Instances

Instances details
Eq MuteID Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Methods

(==) :: MuteID -> MuteID -> Bool #

(/=) :: MuteID -> MuteID -> Bool #

Show MuteID Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Generic MuteID Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Associated Types

type Rep MuteID :: Type -> Type #

Methods

from :: MuteID -> Rep MuteID x #

to :: Rep MuteID x -> MuteID #

FromJSON MuteID Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Thing MuteID Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Methods

fullname :: MuteID -> Text Source #

type Rep MuteID Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep MuteID = D1 ('MetaData "MuteID" "Network.Reddit.Types.Moderation" "heddit-0.2-6CPbqZeiNUj1PM6nX368ZU" 'True) (C1 ('MetaCons "MuteID" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

newtype RelID Source #

Uniquely identifies a subreddit relationship, excluding mutes (see MuteID)

Constructors

RelID Text 

Instances

Instances details
Eq RelID Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Methods

(==) :: RelID -> RelID -> Bool #

(/=) :: RelID -> RelID -> Bool #

Show RelID Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Methods

showsPrec :: Int -> RelID -> ShowS #

show :: RelID -> String #

showList :: [RelID] -> ShowS #

Generic RelID Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Associated Types

type Rep RelID :: Type -> Type #

Methods

from :: RelID -> Rep RelID x #

to :: Rep RelID x -> RelID #

FromJSON RelID Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Thing RelID Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Methods

fullname :: RelID -> Text Source #

type Rep RelID Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep RelID = D1 ('MetaData "RelID" "Network.Reddit.Types.Moderation" "heddit-0.2-6CPbqZeiNUj1PM6nX368ZU" 'True) (C1 ('MetaCons "RelID" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

data Ban Source #

Represents an account that has been banned from a particular subreddit

Instances

Instances details
Eq Ban Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Methods

(==) :: Ban -> Ban -> Bool #

(/=) :: Ban -> Ban -> Bool #

Show Ban Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Methods

showsPrec :: Int -> Ban -> ShowS #

show :: Ban -> String #

showList :: [Ban] -> ShowS #

Generic Ban Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Associated Types

type Rep Ban :: Type -> Type #

Methods

from :: Ban -> Rep Ban x #

to :: Rep Ban x -> Ban #

FromJSON Ban Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Paginable Ban Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Associated Types

type PaginateOptions Ban Source #

type PaginateThing Ban Source #

type Rep Ban Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type PaginateOptions Ban Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type PaginateThing Ban Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

data Wikimode Source #

The editing mode for a subreddit's wiki

Constructors

EditDisabled

Only mods can edit

ApprovedEdit

Only mods and approved editors can edit

ContributorEdit

Any sub contributor can edit

Instances

Instances details
Eq Wikimode Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Ord Wikimode Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Show Wikimode Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Generic Wikimode Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Associated Types

type Rep Wikimode :: Type -> Type #

Methods

from :: Wikimode -> Rep Wikimode x #

to :: Rep Wikimode x -> Wikimode #

FromJSON Wikimode Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

ToHttpApiData Wikimode Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep Wikimode Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep Wikimode = D1 ('MetaData "Wikimode" "Network.Reddit.Types.Moderation" "heddit-0.2-6CPbqZeiNUj1PM6nX368ZU" 'False) (C1 ('MetaCons "EditDisabled" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ApprovedEdit" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ContributorEdit" 'PrefixI 'False) (U1 :: Type -> Type)))

data SpamFilter Source #

The strength of the subreddit's spam filter

Instances

Instances details
Eq SpamFilter Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Show SpamFilter Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Generic SpamFilter Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Associated Types

type Rep SpamFilter :: Type -> Type #

FromJSON SpamFilter Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

ToHttpApiData SpamFilter Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep SpamFilter Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep SpamFilter = D1 ('MetaData "SpamFilter" "Network.Reddit.Types.Moderation" "heddit-0.2-6CPbqZeiNUj1PM6nX368ZU" 'False) (C1 ('MetaCons "LowFilter" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "HighFilter" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AllFilter" 'PrefixI 'False) (U1 :: Type -> Type)))

data ContentOptions Source #

Permissible submissions on the subreddit

Constructors

AnyContent 
LinkOnly 
SelfOnly 

Instances

Instances details
Eq ContentOptions Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Show ContentOptions Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Generic ContentOptions Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Associated Types

type Rep ContentOptions :: Type -> Type #

FromJSON ContentOptions Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

ToHttpApiData ContentOptions Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep ContentOptions Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep ContentOptions = D1 ('MetaData "ContentOptions" "Network.Reddit.Types.Moderation" "heddit-0.2-6CPbqZeiNUj1PM6nX368ZU" 'False) (C1 ('MetaCons "AnyContent" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "LinkOnly" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SelfOnly" 'PrefixI 'False) (U1 :: Type -> Type)))

data CrowdControlLevel Source #

The setting for crowd controls, from lenient to strict

Constructors

Zero 
One 
Two 
Three 

Instances

Instances details
Enum CrowdControlLevel Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Eq CrowdControlLevel Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Ord CrowdControlLevel Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Show CrowdControlLevel Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Generic CrowdControlLevel Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Associated Types

type Rep CrowdControlLevel :: Type -> Type #

FromJSON CrowdControlLevel Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

ToHttpApiData CrowdControlLevel Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep CrowdControlLevel Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep CrowdControlLevel = D1 ('MetaData "CrowdControlLevel" "Network.Reddit.Types.Moderation" "heddit-0.2-6CPbqZeiNUj1PM6nX368ZU" 'False) ((C1 ('MetaCons "Zero" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "One" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Two" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Three" 'PrefixI 'False) (U1 :: Type -> Type)))

data SubredditSettings Source #

The settings that may be configured for a particular subreddit

Instances

Instances details
Eq SubredditSettings Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Show SubredditSettings Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Generic SubredditSettings Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Associated Types

type Rep SubredditSettings :: Type -> Type #

FromJSON SubredditSettings Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

ToForm SubredditSettings Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep SubredditSettings Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep SubredditSettings = D1 ('MetaData "SubredditSettings" "Network.Reddit.Types.Moderation" "heddit-0.2-6CPbqZeiNUj1PM6nX368ZU" 'False) (C1 ('MetaCons "SubredditSettings" 'PrefixI 'True) (((((S1 ('MetaSel ('Just "subredditID") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 SubredditID) :*: S1 ('MetaSel ('Just "title") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Title)) :*: (S1 ('MetaSel ('Just "description") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Body) :*: (S1 ('MetaSel ('Just "submitText") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "submitTextLabel") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text)))) :*: ((S1 ('MetaSel ('Just "headerHoverText") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "language") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 LanguageCode)) :*: (S1 ('MetaSel ('Just "subredditType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 SubredditType) :*: (S1 ('MetaSel ('Just "contentOptions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ContentOptions) :*: S1 ('MetaSel ('Just "keyColor") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 RGBText))))) :*: (((S1 ('MetaSel ('Just "wikimode") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Wikimode) :*: S1 ('MetaSel ('Just "wikiEditKarma") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Integer)) :*: (S1 ('MetaSel ('Just "wikiEditAge") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Integer) :*: (S1 ('MetaSel ('Just "commentScoreHideMins") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Integer) :*: S1 ('MetaSel ('Just "spamComments") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 SpamFilter)))) :*: ((S1 ('MetaSel ('Just "spamSelfposts") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 SpamFilter) :*: S1 ('MetaSel ('Just "spamLinks") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 SpamFilter)) :*: (S1 ('MetaSel ('Just "crowdControlLevel") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 CrowdControlLevel) :*: (S1 ('MetaSel ('Just "crowdControlChatLevel") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 CrowdControlLevel) :*: S1 ('MetaSel ('Just "crowdControlMode") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool)))))) :*: ((((S1 ('MetaSel ('Just "suggestedCommentSort") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe ItemSort)) :*: S1 ('MetaSel ('Just "welcomeMessageText") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text))) :*: (S1 ('MetaSel ('Just "welcomeMessageEnabled") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: (S1 ('MetaSel ('Just "allowImages") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "allowVideos") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool)))) :*: ((S1 ('MetaSel ('Just "allowPolls") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "allowCrossposts") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "allowChatPostCreation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: (S1 ('MetaSel ('Just "spoilersEnabled") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "showMedia") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool))))) :*: (((S1 ('MetaSel ('Just "showMediaPreview") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "restrictPosting") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "restrictCommenting") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: (S1 ('MetaSel ('Just "over18") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "collapseDeletedComments") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool)))) :*: ((S1 ('MetaSel ('Just "defaultSet") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: (S1 ('MetaSel ('Just "disableContribRequests") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "freeFormReports") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool))) :*: (S1 ('MetaSel ('Just "excludeBannedModqueue") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: (S1 ('MetaSel ('Just "ocTagEnabled") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "allOC") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool))))))))

data RelInfoOpts Source #

Options for Listings of RelInfo. Currently only takes a single field, user, to limit the listing to a single user

Constructors

RelInfoOpts (Maybe Username) 

Instances

Instances details
Eq RelInfoOpts Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Show RelInfoOpts Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Generic RelInfoOpts Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Associated Types

type Rep RelInfoOpts :: Type -> Type #

ToForm RelInfoOpts Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Methods

toForm :: RelInfoOpts -> Form #

type Rep RelInfoOpts Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep RelInfoOpts = D1 ('MetaData "RelInfoOpts" "Network.Reddit.Types.Moderation" "heddit-0.2-6CPbqZeiNUj1PM6nX368ZU" 'False) (C1 ('MetaCons "RelInfoOpts" 'PrefixI 'True) (S1 ('MetaSel ('Just "username") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Username))))

data MuteInfo Source #

Information about a muted user

Instances

Instances details
Eq MuteInfo Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Show MuteInfo Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Generic MuteInfo Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Associated Types

type Rep MuteInfo :: Type -> Type #

Methods

from :: MuteInfo -> Rep MuteInfo x #

to :: Rep MuteInfo x -> MuteInfo #

FromJSON MuteInfo Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Paginable MuteInfo Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep MuteInfo Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep MuteInfo = D1 ('MetaData "MuteInfo" "Network.Reddit.Types.Moderation" "heddit-0.2-6CPbqZeiNUj1PM6nX368ZU" 'False) (C1 ('MetaCons "MuteInfo" 'PrefixI 'True) ((S1 ('MetaSel ('Just "userID") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 UserID) :*: S1 ('MetaSel ('Just "muteID") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 MuteID)) :*: (S1 ('MetaSel ('Just "username") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Username) :*: S1 ('MetaSel ('Just "date") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 UTCTime))))
type PaginateOptions MuteInfo Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type PaginateThing MuteInfo Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

data RelInfo Source #

Information about a contributor on the subreddit

Instances

Instances details
Eq RelInfo Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Methods

(==) :: RelInfo -> RelInfo -> Bool #

(/=) :: RelInfo -> RelInfo -> Bool #

Show RelInfo Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Generic RelInfo Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Associated Types

type Rep RelInfo :: Type -> Type #

Methods

from :: RelInfo -> Rep RelInfo x #

to :: Rep RelInfo x -> RelInfo #

FromJSON RelInfo Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Paginable RelInfo Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep RelInfo Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep RelInfo = D1 ('MetaData "RelInfo" "Network.Reddit.Types.Moderation" "heddit-0.2-6CPbqZeiNUj1PM6nX368ZU" 'False) (C1 ('MetaCons "RelInfo" 'PrefixI 'True) ((S1 ('MetaSel ('Just "userID") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 UserID) :*: S1 ('MetaSel ('Just "relID") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 RelID)) :*: (S1 ('MetaSel ('Just "username") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Username) :*: S1 ('MetaSel ('Just "date") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 UTCTime))))
type PaginateOptions RelInfo Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type PaginateThing RelInfo Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

data ModAccount Source #

Account information about a moderator, similar to a Account, but with less information

Instances

Instances details
Eq ModAccount Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Show ModAccount Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Generic ModAccount Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Associated Types

type Rep ModAccount :: Type -> Type #

FromJSON ModAccount Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep ModAccount Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

data ModInviteeList Source #

A list containing users invited to moderate the subreddit. For some reason, the endpoints listing moderator invites do not use the same Listing mechanism that most other endpoints do

Instances

Instances details
Eq ModInviteeList Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Show ModInviteeList Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Generic ModInviteeList Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Associated Types

type Rep ModInviteeList :: Type -> Type #

FromJSON ModInviteeList Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

ToForm ModInviteeList Source #

This instance can be used to paginate through the listings, with a bias towards after

Instance details

Defined in Network.Reddit.Types.Moderation

type Rep ModInviteeList Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep ModInviteeList = D1 ('MetaData "ModInviteeList" "Network.Reddit.Types.Moderation" "heddit-0.2-6CPbqZeiNUj1PM6nX368ZU" 'False) (C1 ('MetaCons "ModInviteeList" 'PrefixI 'True) ((S1 ('MetaSel ('Just "invited") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Seq ModInvitee)) :*: S1 ('MetaSel ('Just "allUsersLoaded") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "after") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe UserID)) :*: S1 ('MetaSel ('Just "before") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe UserID)))))

data ModInvitee Source #

Information about a user who has been invited to moderate the subreddit

Instances

Instances details
Eq ModInvitee Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Show ModInvitee Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Generic ModInvitee Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Associated Types

type Rep ModInvitee :: Type -> Type #

FromJSON ModInvitee Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep ModInvitee Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

data SubredditRelationship Source #

The types of relationships that mods can manipulate

Instances

Instances details
Eq SubredditRelationship Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Show SubredditRelationship Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Generic SubredditRelationship Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Associated Types

type Rep SubredditRelationship :: Type -> Type #

ToHttpApiData SubredditRelationship Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep SubredditRelationship Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep SubredditRelationship = D1 ('MetaData "SubredditRelationship" "Network.Reddit.Types.Moderation" "heddit-0.2-6CPbqZeiNUj1PM6nX368ZU" 'False) ((C1 ('MetaCons "Mod" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ModInvitation" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Contributor" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "BannedFromWiki" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "WikiContributor" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Banned" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Muted" 'PrefixI 'False) (U1 :: Type -> Type))))

data ModPermission Source #

Various permissions that can be afforded to moderators and invitees

Instances

Instances details
Bounded ModPermission Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Enum ModPermission Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Eq ModPermission Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Ord ModPermission Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Show ModPermission Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Generic ModPermission Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Associated Types

type Rep ModPermission :: Type -> Type #

Hashable ModPermission Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

FromJSON ModPermission Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

FromJSONKey ModPermission Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

ToHttpApiData ModPermission Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep ModPermission Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep ModPermission = D1 ('MetaData "ModPermission" "Network.Reddit.Types.Moderation" "heddit-0.2-6CPbqZeiNUj1PM6nX368ZU" 'False) (((C1 ('MetaCons "Access" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Flair" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Mail" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Configuration" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "ChatConfig" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ChatOperator" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Posts" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Wiki" 'PrefixI 'False) (U1 :: Type -> Type))))

type RemovalReasonID = Text Source #

Identifier for a RemovalReason

data RemovalReason Source #

A subreddit-specific reason for item removal

Instances

Instances details
Eq RemovalReason Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Show RemovalReason Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Generic RemovalReason Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Associated Types

type Rep RemovalReason :: Type -> Type #

FromJSON RemovalReason Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

ToForm RemovalReason Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Methods

toForm :: RemovalReason -> Form #

type Rep RemovalReason Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep RemovalReason = D1 ('MetaData "RemovalReason" "Network.Reddit.Types.Moderation" "heddit-0.2-6CPbqZeiNUj1PM6nX368ZU" 'False) (C1 ('MetaCons "RemovalReason" 'PrefixI 'True) (S1 ('MetaSel ('Just "removalReasonID") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 RemovalReasonID) :*: (S1 ('MetaSel ('Just "message") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Body) :*: S1 ('MetaSel ('Just "title") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Title))))

data RemovalType Source #

Controls how the RemovalMessage will be disseminated

Constructors

PublicComment

Leaves the message as a public comment

PrivateExposed

Leaves moderator note with exposed username

PrivateHidden

Leaves mod note with hidden username

Instances

Instances details
Eq RemovalType Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Show RemovalType Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Generic RemovalType Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Associated Types

type Rep RemovalType :: Type -> Type #

ToHttpApiData RemovalType Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep RemovalType Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep RemovalType = D1 ('MetaData "RemovalType" "Network.Reddit.Types.Moderation" "heddit-0.2-6CPbqZeiNUj1PM6nX368ZU" 'False) (C1 ('MetaCons "PublicComment" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "PrivateExposed" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "PrivateHidden" 'PrefixI 'False) (U1 :: Type -> Type)))

data RemovalMessage Source #

A message to explain/note the removal an Item

Instances

Instances details
Eq RemovalMessage Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Show RemovalMessage Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Generic RemovalMessage Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Associated Types

type Rep RemovalMessage :: Type -> Type #

ToForm RemovalMessage Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep RemovalMessage Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep RemovalMessage = D1 ('MetaData "RemovalMessage" "Network.Reddit.Types.Moderation" "heddit-0.2-6CPbqZeiNUj1PM6nX368ZU" 'False) (C1 ('MetaCons "RemovalMessage" 'PrefixI 'True) ((S1 ('MetaSel ('Just "itemID") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ItemID) :*: S1 ('MetaSel ('Just "message") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Body)) :*: (S1 ('MetaSel ('Just "title") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Title) :*: S1 ('MetaSel ('Just "removalType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 RemovalType))))

data ModItemOpts Source #

Options for Listings of ModItems. Only contains one field, only to constrain the request to a single type (i.e. comments or links)

Constructors

ModItemOpts (Maybe ItemType) 

Instances

Instances details
Eq ModItemOpts Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Show ModItemOpts Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Generic ModItemOpts Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Associated Types

type Rep ModItemOpts :: Type -> Type #

ToForm ModItemOpts Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Methods

toForm :: ModItemOpts -> Form #

type Rep ModItemOpts Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep ModItemOpts = D1 ('MetaData "ModItemOpts" "Network.Reddit.Types.Moderation" "heddit-0.2-6CPbqZeiNUj1PM6nX368ZU" 'False) (C1 ('MetaCons "ModItemOpts" 'PrefixI 'True) (S1 ('MetaSel ('Just "only") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe ItemType))))

newtype ModItem Source #

An Item of interest to moderators (spam, modqueue, etc...)

Constructors

ModItem Item 

Instances

Instances details
Eq ModItem Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Methods

(==) :: ModItem -> ModItem -> Bool #

(/=) :: ModItem -> ModItem -> Bool #

Show ModItem Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Generic ModItem Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Associated Types

type Rep ModItem :: Type -> Type #

Methods

from :: ModItem -> Rep ModItem x #

to :: Rep ModItem x -> ModItem #

FromJSON ModItem Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

Paginable ModItem Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep ModItem Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type Rep ModItem = D1 ('MetaData "ModItem" "Network.Reddit.Types.Moderation" "heddit-0.2-6CPbqZeiNUj1PM6nX368ZU" 'True) (C1 ('MetaCons "ModItem" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Item)))
type PaginateOptions ModItem Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

type PaginateThing ModItem Source # 
Instance details

Defined in Network.Reddit.Types.Moderation

defaultModmailOpts :: ModmailOpts Source #

Default options for filtering modmail

mkModmailReply :: Body -> ModmailReply Source #

ModmailReply with default values for boolean fields