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)
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], fetch: bool = True, **kwargs) 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.
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("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, fetch=False) await reason.delete()