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()