SubredditListingMixin

class asyncpraw.models.listing.mixins.subreddit.SubredditListingMixin(reddit, _data)

Adds additional methods pertaining to subreddit-like instances.

Parameters:
__init__(reddit, _data)

Initialize a SubredditListingMixin instance.

Parameters:
Return type:

None

comments()

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)
Return type:

CommentHelper

controversial(*, time_filter='all', **generator_kwargs)

Return a ListingGenerator for controversial items.

Parameters:
  • time_filter (str) – Can be one of: "all", "day", "hour", "month", "week", or "year" (default: "all").

  • generator_kwargs (Unpack[ListingGeneratorKwargs])

Raises:

ValueError if time_filter is invalid.

Return type:

AsyncIterator[Any]

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")
hot(**generator_kwargs)

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()
Return type:

AsyncIterator[Any]

Parameters:

generator_kwargs (Unpack[ListingGeneratorKwargs])

new(**generator_kwargs)

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()
Return type:

AsyncIterator[Any]

Parameters:

generator_kwargs (Unpack[ListingGeneratorKwargs])

classmethod parse(data, reddit)

Return an instance of cls from data.

Parameters:
Return type:

AsyncPRAWBase

rising(**generator_kwargs)

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)
Return type:

AsyncIterator[Submission]

Parameters:

generator_kwargs (Unpack[ListingGeneratorKwargs])

top(*, time_filter='all', **generator_kwargs)

Return a ListingGenerator for top items.

Parameters:
  • time_filter (str) – Can be one of: "all", "day", "hour", "month", "week", or "year "``(default: ``"all").

  • generator_kwargs (Unpack[ListingGeneratorKwargs])

Raises:

ValueError if time_filter is invalid.

Return type:

AsyncIterator[Any]

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")