SubredditRemovalReasons

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

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

__init__(subreddit: Subreddit)

Create a SubredditRemovalReasons instance.

Parameters

subreddit – The subreddit whose removal reasons to work with.

await add(message: str, title: str) → asyncpraw.models.reddit.removal_reasons.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 the subreddit "NAME" try:

subreddit = await reddit.subreddit("NAME")
await subreddit.mod.removal_reasons.add(message="Foobar", title="Test")
await get_reason(reason_id: Union[str, int, slice], lazy: bool = False) → asyncpraw.models.reddit.removal_reasons.RemovalReason

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

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

  • lazy – If True, object is loaded lazily (default: False).

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

reason_id = "141vv5c16py7d"
subreddit = await reddit.subreddit("NAME")
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 the subreddit "NAME":

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

To get the last three removal reasons in a subreddit:

subreddit = await reddit.subreddit("NAME")
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("NAME")
reason = await subreddit.mod.removal_reasons.get_reason(reason_id, lazy=True)
await reason.delete()