SubredditModerationStream

class praw.models.reddit.subreddit.SubredditModerationStream(subreddit)

Provides moderator streams.

__init__(subreddit)

Create a SubredditModerationStream instance.

Parameters:subreddit – The moderated subreddit associated with the streams.
edited(only=None, **stream_options)

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:

for item in reddit.subreddit("mod").mod.stream.edited():
    print(item)
log(action=None, mod=None, **stream_options)

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:

for log in reddit.subreddit("mod").mod.stream.log():
    print("Mod: {}, Subreddit: {}".format(log.mod, log.subreddit))
modmail_conversations(other_subreddits=None, sort=None, state=None, **stream_options)

Yield unread new modmail messages 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, user (default: recent).
  • state – Can be one of: all, archived, highlighted, inprogress, mod, new, notifications, (default: all). “all” does not include internal or archived conversations.

Keyword arguments are passed to stream_generator().

To print new mail in the unread modmail queue try:

subreddit = reddit.subreddit("all")
for message in subreddit.mod.stream.modmail_conversations():
    print("From: {}, To: {}".format(message.owner, message.participant))
modqueue(only=None, **stream_options)

Yield comments/submissions 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:

for item in reddit.subreddit("mod").mod.stream.modqueue():
    print(item)
reports(only=None, **stream_options)

Yield reported 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().

To print new user and mod report reasons in the report queue try:

for item in reddit.subreddit("mod").mod.stream.reports():
    print(item)
spam(only=None, **stream_options)

Yield spam 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().

To print new items in the spam queue try:

for item in reddit.subreddit("mod").mod.stream.spam():
    print(item)
unmoderated(**stream_options)

Yield unmoderated submissions as they become available.

Keyword arguments are passed to stream_generator().

To print new items in the unmoderated queue try:

for item in reddit.subreddit("mod").mod.stream.unmoderated():
    print(item)
unread(**stream_options)

Yield unread old modmail messages as they become available.

Keyword arguments are passed to stream_generator().

See also

inbox() for all messages.

To print new mail in the unread modmail queue try:

for message in reddit.subreddit("mod").mod.stream.unread():
    print("From: {}, To: {}".format(message.author, message.dest))