SubredditListingMixin¶
- class asyncpraw.models.listing.mixins.subreddit.SubredditListingMixin(reddit: asyncpraw.Reddit, _data: dict[str, Any] | None)¶
Adds additional methods pertaining to subreddit-like instances.
- __init__(reddit: asyncpraw.Reddit, _data: dict[str, Any] | None)¶
Initialize a
SubredditListingMixin
instance.- Parameters:
reddit – An instance of
Reddit
.
- comments() CommentHelper ¶
Provide an instance of
CommentHelper
.For example, to output the author of the 25 most recent comments of r/test execute:
subreddit = await reddit.subreddit("test") async for comment in subreddit.comments(limit=25): print(comment.author)
- controversial(*, time_filter: str = 'all', **generator_kwargs: str | int | dict[str, str]) AsyncIterator[Any] ¶
Return a
ListingGenerator
for controversial items.- Parameters:
time_filter – Can be one of:
"all"
,"day"
,"hour"
,"month"
,"week"
, or"year"
(default:"all"
).- Raises:
ValueError
iftime_filter
is invalid.
Additional keyword arguments are passed in the initialization of
ListingGenerator
.This method can be used like:
reddit.domain("imgur.com").controversial(time_filter="week") multireddit = await reddit.multireddit(redditor="samuraisam", name="programming") multireddit.controversial(time_filter="day") redditor = await reddit.redditor("spez") redditor.controversial(time_filter="month") redditor = await reddit.redditor("spez") redditor.comments.controversial(time_filter="year") redditor = await reddit.redditor("spez") redditor.submissions.controversial(time_filter="all") subreddit = await reddit.subreddit("all") subreddit.controversial(time_filter="hour")
- gilded(**generator_kwargs: str | int | dict[str, str]) AsyncIterator[Any] ¶
Return a
ListingGenerator
for gilded items.Additional keyword arguments are passed in the initialization of
ListingGenerator
.For example, to get gilded items in r/test:
subreddit = await reddit.subreddit("test") async for item in subreddit.gilded(): print(item.id)
- hot(**generator_kwargs: str | int | dict[str, str]) AsyncIterator[Any] ¶
Return a
ListingGenerator
for hot items.Additional keyword arguments are passed in the initialization of
ListingGenerator
.This method can be used like:
reddit.domain("imgur.com").hot() multireddit = await reddit.multireddit(redditor="samuraisam", name="programming") multireddit.hot() redditor = await reddit.redditor("spez") redditor.hot() redditor = await reddit.redditor("spez") redditor.comments.hot() redditor = await reddit.redditor("spez") redditor.submissions.hot() subreddit = await reddit.subreddit("all") subreddit.hot()
- new(**generator_kwargs: str | int | dict[str, str]) AsyncIterator[Any] ¶
Return a
ListingGenerator
for new items.Additional keyword arguments are passed in the initialization of
ListingGenerator
.This method can be used like:
reddit.domain("imgur.com").new() multireddit = await reddit.multireddit(redditor="samuraisam", name="programming") multireddit.new() redditor = await reddit.redditor("spez") redditor.new() redditor = await reddit.redditor("spez") redditor.comments.new() redditor = await reddit.redditor("spez") redditor.submissions.new() subreddit = await reddit.subreddit("all") subreddit.new()
- classmethod parse(data: dict[str, Any], reddit: asyncpraw.Reddit) AsyncPRAWBase ¶
Return an instance of
cls
fromdata
.- Parameters:
data – The structured data.
reddit – An instance of
Reddit
.
- random_rising(**generator_kwargs: str | int | dict[str, str]) AsyncIterator[asyncpraw.models.Submission] ¶
Return a
ListingGenerator
for random rising submissions.Additional keyword arguments are passed in the initialization of
ListingGenerator
.For example, to get random rising submissions for r/test:
subreddit = await reddit.subreddit("test") async for submission in subreddit.random_rising(): print(submission.title)
- rising(**generator_kwargs: str | int | dict[str, str]) AsyncIterator[asyncpraw.models.Submission] ¶
Return a
ListingGenerator
for rising submissions.Additional keyword arguments are passed in the initialization of
ListingGenerator
.For example, to get rising submissions for r/test:
subreddit = await reddit.subreddit("test") async for submission in subreddit.rising(): print(submission.title)
- top(*, time_filter: str = 'all', **generator_kwargs: str | int | dict[str, str]) AsyncIterator[Any] ¶
Return a
ListingGenerator
for top items.- Parameters:
time_filter – Can be one of:
"all"
,"day"
,"hour"
,"month"
,"week"
, or"year "``(default: ``"all"
).- Raises:
ValueError
iftime_filter
is invalid.
Additional keyword arguments are passed in the initialization of
ListingGenerator
.This method can be used like:
reddit.domain("imgur.com").top(time_filter="week") multireddit = await reddit.multireddit(redditor="samuraisam", name="programming") multireddit.top(time_filter="day") redditor = await reddit.redditor("spez") redditor.top(time_filter="month") redditor = await reddit.redditor("spez") redditor.comments.top(time_filter="year") redditor = await reddit.redditor("spez") redditor.submissions.top(time_filter="all") subreddit = await reddit.subreddit("all") subreddit.top(time_filter="hour")