SubredditRemovalReasons

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

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

__init__(subreddit: asyncpraw.models.Subreddit)

Initialize a SubredditRemovalReasons instance.

Parameters:

subreddit – The subreddit whose removal reasons to work with.

await 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:

subreddit = await reddit.subreddit("test")
await subreddit.mod.removal_reasons.add(title="Test", message="Foobar")
await get_reason(reason_id: str | int | slice, fetch: bool = True, **kwargs) RemovalReason

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

Parameters:
  • reason_id – The ID or index of the removal reason.

  • fetch – Determines if Async PRAW will fetch the object (default: True).

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

reason_id = "141vv5c16py7d"
subreddit = await reddit.subreddit("test")
reason = await subreddit.mod.removal_reasons.get_reason(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:

subreddit = await reddit.subreddit("test")
await subreddit.mod.removal_reasons.get_reason(1)

To get the last three removal reasons in a subreddit:

subreddit = await reddit.subreddit("test")
reasons = await subreddit.mod.removal_reasons.get_reason(slice(-3, None))
for reason in reasons:
    print(reason)

If you don’t need the object fetched right away (e.g., to utilize a class method) you can do:

reason_id = "141vv5c16py7d"
subreddit = await reddit.subreddit("test")
reason = await subreddit.mod.removal_reasons.get_reason(reason_id, fetch=False)
await reason.delete()