BaseModNotes
- class praw.models.mod_notes.BaseModNotes(reddit: praw.Reddit)
Provides base methods to interact with moderator notes.
- __init__(reddit: praw.Reddit)
Initialize a
BaseModNotes
instance.- Parameters
reddit – An instance of
Reddit
.
- create(*, label: Optional[str] = None, note: str, redditor: Optional[Union[praw.models.reddit.redditor.Redditor, str]] = None, subreddit: Optional[Union[praw.models.Subreddit, str]] = None, thing: Optional[Union[praw.models.reddit.comment.Comment, praw.models.reddit.submission.Submission, str]] = None, **other_settings: Any) praw.models.ModNote
Create a
ModNote
for a redditor in the specified subreddit.- Parameters
label – The label for the note. As of this writing, this can be one of the following:
"ABUSE_WARNING"
,"BAN"
,"BOT_BAN"
,"HELPFUL_USER"
,"PERMA_BAN"
,"SOLID_CONTRIBUTOR"
,"SPAM_WARNING"
,"SPAM_WATCH"
, orNone
(default:None
).note – The content of the note. As of this writing, this is limited to 250 characters.
redditor –
The redditor to create the note for (default:
None
).Note
This parameter is required if
thing
is not provided or this is not called from aRedditor
instance (e.g.,reddit.redditor.notes
).subreddit –
The subreddit associated with the note (default:
None
).Note
This parameter is required if
thing
is not provided or this is not called from aSubreddit
instance (e.g.,reddit.subreddit.mod
).thing – Either the fullname of a comment/submission, a
Comment
, or aSubmission
to associate with the note.other_settings – Additional keyword arguments can be provided to handle new parameters as Reddit introduces them.
- Returns
The new
ModNote
object.
For example, to create a note for u/spez in r/test:
reddit.subreddit("test").mod.notes.create( label="HELPFUL_USER", note="Test note", redditor="spez" ) # or reddit.redditor("spez").mod.notes.create( label="HELPFUL_USER", note="Test note", subreddit="test" ) # or reddit.notes.create( label="HELPFUL_USER", note="Test note", redditor="spez", subreddit="test" )
- delete(*, delete_all: bool = False, note_id: Optional[str] = None, redditor: Optional[Union[praw.models.reddit.redditor.Redditor, str]] = None, subreddit: Optional[Union[praw.models.Subreddit, str]] = None)
Delete note(s) for a redditor.
- Parameters
delete_all –
When
True
, delete all notes for the specified redditor in the specified subreddit (default:False
).Note
This will make a request for each note.
note_id – The ID of the note to delete. This parameter is ignored if
delete_all
isTrue
.redditor –
The redditor to delete the note(s) for (default:
None
). Can be aRedditor
instance or a redditor name.Note
This parameter is required if this method is not called from a
Redditor
instance (e.g.,redditor.notes
).subreddit –
The subreddit to delete the note(s) from (default:
None
). Can be aSubreddit
instance or a subreddit name.Note
This parameter is required if this method is not called from a
Subreddit
instance (e.g.,reddit.subreddit.mod
).
For example, to delete a note with the ID
"ModNote_d324b280-5ecc-435d-8159-3e259e84e339"
, try:reddit.subreddit("test").mod.notes.delete( note_id="ModNote_d324b280-5ecc-435d-8159-3e259e84e339", redditor="spez" ) # or reddit.redditor("spez").notes.delete( note_id="ModNote_d324b280-5ecc-435d-8159-3e259e84e339", subreddit="test" ) # or reddit.notes.delete( note_id="ModNote_d324b280-5ecc-435d-8159-3e259e84e339", subreddit="test", redditor="spez", )
To delete all notes for u/spez, try:
reddit.subreddit("test").mod.notes.delete(delete_all=True, redditor="spez") # or reddit.redditor("spez").notes.delete(delete_all=True, subreddit="test") # or reddit.notes.delete(delete_all=True, subreddit="test", redditor="spez")