SubredditModerationStream¶
- class asyncpraw.models.reddit.subreddit.SubredditModerationStream(subreddit: asyncpraw.models.Subreddit)¶
Provides moderator streams.
- __init__(subreddit: asyncpraw.models.Subreddit)¶
Initialize a
SubredditModerationStream
instance.- Parameters:
subreddit – The moderated subreddit associated with the streams.
- edited(*, only: str | None = None, **stream_options: Any) AsyncGenerator[asyncpraw.models.Comment | asyncpraw.models.Submission, None] ¶
Yield edited comments and submissions as they become available.
- Parameters:
only – If specified, one of
"comments"
or"submissions"
to yield only results of that type.
Keyword arguments are passed to
stream_generator()
.For example, to retrieve all new edited submissions/comments made to all moderated subreddits, try:
subreddit = await reddit.subreddit("mod") async for item in subreddit.mod.stream.edited(): print(item)
- log(*, action: str | None = None, mod: str | asyncpraw.models.Redditor | None = None, **stream_options: Any) AsyncGenerator[asyncpraw.models.ModAction, None] ¶
Yield moderator log entries as they become available.
- Parameters:
action – If given, only return log entries for the specified action.
mod – If given, only return log entries for actions made by the passed in redditor.
For example, to retrieve all new mod actions made to all moderated subreddits, try:
subreddit = await reddit.subreddit("mod") async for log in subreddit.mod.stream.log(): print("Mod: {}, Subreddit: {}".format(log.mod, log.subreddit))
- modmail_conversations(*, other_subreddits: list[asyncpraw.models.Subreddit] | None = None, sort: str | None = None, state: str | None = None, **stream_options: Any) AsyncGenerator[ModmailConversation, None] ¶
Yield new-modmail conversations as they become available.
- Parameters:
other_subreddits – A list of
Subreddit
instances for which to fetch conversations (default:None
).sort – Can be one of:
"mod"
,"recent"
,"unread"
, or"user"
(default:"recent"
).state – Can be one of:
"all"
,"appeals"
,"archived"
,"default"
,"highlighted"
,"inbox"
,"inprogress"
,"join_requests"
,"mod"
,"new"
, or"notifications"
(default:"all"
)."all"
does not include mod or archived conversations."inbox"
does not include appeals conversations.
Keyword arguments are passed to
stream_generator()
.To print new mail in the unread modmail queue try:
subreddit = await reddit.subreddit("all") async for message in subreddit.mod.stream.modmail_conversations(): print(f"From: {message.owner}, To: {message.participant}")
- modqueue(*, only: str | None = None, **stream_options: Any) AsyncGenerator[asyncpraw.models.Comment | asyncpraw.models.Submission, None] ¶
Yield
Comment
s andSubmission
s in the modqueue as they become available.- Parameters:
only – If specified, one of
"comments"
or"submissions"
to yield only results of that type.
Keyword arguments are passed to
stream_generator()
.To print all new modqueue items try:
subreddit = await reddit.subreddit("mod") async for item in subreddit.mod.stream.modqueue(): print(item)
- reports(*, only: str | None = None, **stream_options: Any) AsyncGenerator[asyncpraw.models.Comment | asyncpraw.models.Submission, None] ¶
Yield reported
Comment
s andSubmission
s as they become available.- Parameters:
only – If specified, one of
"comments"
or"submissions"
to yield only results of that type.
Keyword arguments are passed to
stream_generator()
.To print new user and mod report reasons in the report queue try:
subreddit = await reddit.subreddit("mod") async for item in subreddit.mod.stream.reports(): print(item)
- spam(*, only: str | None = None, **stream_options: Any) AsyncGenerator[asyncpraw.models.Comment | asyncpraw.models.Submission, None] ¶
Yield spam
Comment
s andSubmission
s as they become available.- Parameters:
only – If specified, one of
"comments"
or"submissions"
to yield only results of that type.
Keyword arguments are passed to
stream_generator()
.To print new items in the spam queue try:
subreddit = await reddit.subreddit("mod") async for item in subreddit.mod.stream.spam(): print(item)
- unmoderated(**stream_options: Any) AsyncGenerator[asyncpraw.models.Submission, None] ¶
Yield unmoderated
Submission
s as they become available.Keyword arguments are passed to
stream_generator()
.To print new items in the unmoderated queue try:
subreddit = await reddit.subreddit("mod") async for item in subreddit.mod.stream.unmoderated(): print(item)
- unread(**stream_options: Any) AsyncGenerator[asyncpraw.models.SubredditMessage, None] ¶
Yield unread old modmail messages as they become available.
Keyword arguments are passed to
stream_generator()
.See also
SubredditModeration.inbox()
for all messages.To print new mail in the unread modmail queue try:
subreddit = await reddit.subreddit("mod") async for message in subreddit.mod.stream.unread(): print("From: {}, To: {}".format(message.author, message.dest))