Multireddit¶
-
class
praw.models.Multireddit(reddit: Reddit, _data: Dict[str, Any])¶ A class for users’ Multireddits.
This is referred to as a Custom Feed on the Reddit UI.
Typical Attributes
This table describes attributes that typically belong to objects of this class. Since attributes are dynamically provided (see Determine Available Attributes of an Object), there is not a guarantee that these attributes will always be present, nor is this list necessarily complete.
Attribute
Description
can_editA
boolrepresenting whether or not the authenticated user may edit the multireddit.copied_fromThe multireddit that the multireddit was copied from, if it exists, otherwise
None.created_utcWhen the multireddit was created, in Unix Time.
description_htmlThe description of the multireddit, as HTML.
description_mdThe description of the multireddit, as Markdown.
display_nameThe display name of the multireddit.
nameThe name of the multireddit.
over_18A
boolrepresenting whether or not the multireddit is restricted for users over 18.subredditsA
listofSubreddits that make up the multireddit.visibilityThe visibility of the multireddit, either
private,public, orhidden.-
add(subreddit: praw.models.reddit.subreddit.Subreddit)¶ Add a subreddit to this multireddit.
- Parameters
subreddit – The subreddit to add to this multi.
For example, to add subreddit
r/testto multiredditbboe/test:subreddit = reddit.subreddit("test") reddit.multireddit("bboe", "test").add(subreddit)
-
comments()¶ Provide an instance of
CommentHelper.For example, to output the author of the 25 most recent comments of
r/redditdevexecute:for comment in reddit.subreddit("redditdev").comments(limit=25): print(comment.author)
-
controversial(time_filter: str = 'all', **generator_kwargs: Union[str, int, Dict[str, str]]) → Iterator[Any]¶ Return a
ListingGeneratorfor controversial submissions.- Parameters
time_filter – Can be one of: all, day, hour, month, week, year (default: all).
- Raises
ValueErroriftime_filteris invalid.
Additional keyword arguments are passed in the initialization of
ListingGenerator.This method can be used like:
reddit.domain("imgur.com").controversial("week") reddit.multireddit("samuraisam", "programming").controversial("day") reddit.redditor("spez").controversial("month") reddit.redditor("spez").comments.controversial("year") reddit.redditor("spez").submissions.controversial("all") reddit.subreddit("all").controversial("hour")
-
copy(display_name: Optional[str] = None) → praw.models.reddit.multi.Multireddit¶ Copy this multireddit and return the new multireddit.
- Parameters
display_name – (optional) The display name for the copied multireddit. Reddit will generate the
namefield from this display name. When not provided the copy will use the same display name and name as this multireddit.
To copy the multireddit
bboe/testwith a name oftesting:reddit.multireddit("bboe", "test").copy("testing")
-
delete()¶ Delete this multireddit.
For example, to delete multireddit``bboe/test``:
reddit.multireddit("bboe", "test").delete()
-
gilded(**generator_kwargs: Union[str, int, Dict[str, str]]) → Iterator[Any]¶ Return a
ListingGeneratorfor gilded items.Additional keyword arguments are passed in the initialization of
ListingGenerator.For example, to get gilded items in subreddit
r/test:for item in reddit.subreddit("test").gilded(): print(item.id)
-
hot(**generator_kwargs: Union[str, int, Dict[str, str]]) → Iterator[Any]¶ Return a
ListingGeneratorfor hot items.Additional keyword arguments are passed in the initialization of
ListingGenerator.This method can be used like:
reddit.domain("imgur.com").hot() reddit.multireddit("samuraisam", "programming").hot() reddit.redditor("spez").hot() reddit.redditor("spez").comments.hot() reddit.redditor("spez").submissions.hot() reddit.subreddit("all").hot()
-
new(**generator_kwargs: Union[str, int, Dict[str, str]]) → Iterator[Any]¶ Return a
ListingGeneratorfor new items.Additional keyword arguments are passed in the initialization of
ListingGenerator.This method can be used like:
reddit.domain("imgur.com").new() reddit.multireddit("samuraisam", "programming").new() reddit.redditor("spez").new() reddit.redditor("spez").comments.new() reddit.redditor("spez").submissions.new() reddit.subreddit("all").new()
-
classmethod
parse(data: Dict[str, Any], reddit: Reddit) → Any¶ Return an instance of
clsfromdata.- Parameters
data – The structured data.
reddit – An instance of
Reddit.
-
random_rising(**generator_kwargs: Union[str, int, Dict[str, str]]) → Iterator[Submission]¶ Return a
ListingGeneratorfor random rising submissions.Additional keyword arguments are passed in the initialization of
ListingGenerator.For example, to get random rising submissions for subreddit
r/test:for submission in reddit.subreddit("test").random_rising(): print(submission.title)
-
remove(subreddit: praw.models.reddit.subreddit.Subreddit)¶ Remove a subreddit from this multireddit.
- Parameters
subreddit – The subreddit to remove from this multi.
For example, to remove subreddit
r/testfrom multiredditbboe/test:subreddit = reddit.subreddit("test") reddit.multireddit("bboe", "test").remove(subreddit)
-
rising(**generator_kwargs: Union[str, int, Dict[str, str]]) → Iterator[Submission]¶ Return a
ListingGeneratorfor rising submissions.Additional keyword arguments are passed in the initialization of
ListingGenerator.For example, to get rising submissions for subreddit
r/test:for submission in reddit.subreddit("test").rising(): print(submission.title)
-
static
sluggify(title: str)¶ Return a slug version of the title.
- Parameters
title – The title to make a slug of.
Adapted from reddit’s utils.py.
-
stream()¶ Provide an instance of
SubredditStream.Streams can be used to indefinitely retrieve new comments made to a multireddit, like:
for comment in reddit.multireddit("spez", "fun").stream.comments(): print(comment)
Additionally, new submissions can be retrieved via the stream. In the following example all new submissions to the multireddit are fetched:
for submission in reddit.multireddit("bboe", "games").stream.submissions(): print(submission)
-
top(time_filter: str = 'all', **generator_kwargs: Union[str, int, Dict[str, str]]) → Iterator[Any]¶ Return a
ListingGeneratorfor top submissions.- Parameters
time_filter – Can be one of: all, day, hour, month, week, year (default: all).
- Raises
ValueErroriftime_filteris invalid.
Additional keyword arguments are passed in the initialization of
ListingGenerator.This method can be used like:
reddit.domain("imgur.com").top("week") reddit.multireddit("samuraisam", "programming").top("day") reddit.redditor("spez").top("month") reddit.redditor("spez").comments.top("year") reddit.redditor("spez").submissions.top("all") reddit.subreddit("all").top("hour")
-
update(**updated_settings: Union[str, List[Union[str, praw.models.reddit.subreddit.Subreddit, Dict[str, str]]]])¶ Update this multireddit.
Keyword arguments are passed for settings that should be updated. They can any of:
- Parameters
display_name – The display name for this multireddit. Must be no longer than 50 characters.
subreddits – Subreddits for this multireddit.
description_md – Description for this multireddit, formatted in Markdown.
icon_name – Can be one of:
art and design,ask,books,business,cars,comics,cute animals,diy,entertainment,food and drink,funny,games,grooming,health,life advice,military,models pinup,music,news,philosophy,pictures and gifs,science,shopping,sports,style,tech,travel,unusual stories,video, orNone.key_color – RGB hex color code of the form
"#FFFFFF".visibility – Can be one of:
hidden,private,public.weighting_scheme – Can be one of:
classic,fresh.
For example, to rename multireddit
bboe/testtobboe/testing:reddit.multireddit("bboe", "test").update(display_name="testing")
-