Skip to content
Back to top
View this page

# SubredditRemovalReasons

class praw.models.reddit.removal_reasons.SubredditRemovalReasons(subreddit: praw.models.Subreddit)

  Provide a set of functions to a `Subreddit`’s removal reasons.

  __getitem__(reason_id: str | int | slice) → RemovalReason

    Return the Removal Reason with the ID/number/slice `reason_id`.

    Parameters:

      reason_id – The ID or index of the removal reason

    Note

    Removal reasons fetched using a specific rule name are lazily loaded, so you might have to access an attribute to get all the expected attributes.

    This method is to be used to fetch a specific removal reason, like so:

        reason_id = "141vv5c16py7d"
        reason = reddit.subreddit("test").mod.removal_reasons[reason_id]
        print(reason)

    You can also use indices to get a numbered removal reason. Since Python uses 0-indexing, the first removal reason is index 0, and so on.

    Note

    Both negative indices and slices can be used to interact with the removal reasons.

    Raises:

      `IndexError` if a removal reason of a specific number does not exist.

    For example, to get the second removal reason of r/test:

        reason = reddit.subreddit("test").mod.removal_reasons[1]

    To get the last three removal reasons in a subreddit:

        reasons = reddit.subreddit("test").mod.removal_reasons[-3:]
        for reason in reasons:
            print(reason)

  __init__(subreddit: praw.models.Subreddit)

    Initialize a `SubredditRemovalReasons` instance.

    Parameters:

      subreddit – The subreddit whose removal reasons to work with.

  __iter__() → Iterator[RemovalReason]

    Return a list of Removal Reasons for the subreddit.

    This method is used to discover all removal reasons for a subreddit:

        for removal_reason in reddit.subreddit("test").mod.removal_reasons:
            print(removal_reason)

  add(*, message: str, title: str) → RemovalReason

    Add a removal reason to this subreddit.

    Parameters:

      - message – The message associated with the removal reason.

      - title – The title of the removal reason.

    Returns:

      The `RemovalReason` added.

    The message will be prepended with `Hi u/username,` automatically.

    To add `"Test"` to r/test try:

        reddit.subreddit("test").mod.removal_reasons.add(title="Test", message="Foobar")