Redditor¶
-
class
praw.models.
Redditor
(reddit: Reddit, name: Optional[str] = None, fullname: Optional[str] = None, _data: Optional[Dict[str, Any]] = None)¶ A class representing the users of reddit.
Typical Attributes
This table describes attributes that typically belong to objects of this class. Since attributes are dynamically provided (see Determine Available Attributes of an Object), there is not a guarantee that these attributes will always be present, nor is this list comprehensive in any way.
Attribute Description comment_karma
The comment karma for the Redditor. comments
Provide an instance of SubListing
for comment access.created_utc
Time the account was created, represented in Unix Time. has_verified_email
Whether or not the Redditor has verified their email. icon_img
The url of the Redditors’ avatar. id
The ID of the Redditor. is_employee
Whether or not the Redditor is a Reddit employee. is_friend
Whether or not the Redditor is friends with the authenticated user. is_mod
Whether or not the Redditor mods any subreddits. is_gold
Whether or not the Redditor has active Reddit Premium status. link_karma
The link karma for the Redditor. name
The Redditor’s username. subreddit
If the Redditor has created a user-subreddit, provides a dictionary of additional attributes. See below. subreddit['banner_img']
The URL of the user-subreddit banner. subreddit['name']
The fullname of the user-subreddit. subreddit['over_18']
Whether or not the user-subreddit is NSFW. subreddit['public_description']
The public description of the user- subreddit. subreddit['subscribers']
The number of users subscribed to the user-subreddit. subreddit['title']
The title of the user-subreddit. -
__init__
(reddit: Reddit, name: Optional[str] = None, fullname: Optional[str] = None, _data: Optional[Dict[str, Any]] = None)¶ Initialize a Redditor instance.
Parameters: - reddit – An instance of
Reddit
. - name – The name of the redditor.
- fullname – The fullname of the redditor, starting with
t2_
.
Exactly one of
name
,fullname
or_data
must be provided.- reddit – An instance of
-
block
()¶ Block the Redditor.
-
comments
¶ Provide an instance of
SubListing
for comment access.For example, to output the first line of all new comments by
/u/spez
try:for comment in reddit.redditor('spez').comments.new(limit=None): print(comment.body.split('\n', 1)[0][:79])
-
controversial
(time_filter: str = 'all', **generator_kwargs) → Generator[[Any, None], None]¶ Return a
ListingGenerator
for controversial submissions.Parameters: time_filter – Can be one of: all, day, hour, month, week, year (default: all). Raise
ValueError
iftime_filter
is invalid.Additional keyword arguments are passed in the initialization of
ListingGenerator
.This method can be used like:
reddit.domain('imgur.com').controversial('week') reddit.multireddit('samuraisam', 'programming').controversial('day') reddit.redditor('spez').controversial('month') reddit.redditor('spez').comments.controversial('year') reddit.redditor('spez').submissions.controversial('all') reddit.subreddit('all').controversial('hour')
-
downvoted
(**generator_kwargs) → Generator[[Any, None], None]¶ Return a
ListingGenerator
for items the user has downvoted.May raise
prawcore.Forbidden
after issuing the request if the user is not authorized to access the list. Note that because this function returns aListingGenerator
the exception may not occur until sometime after this function has returned.Additional keyword arguments are passed in the initialization of
ListingGenerator
.
-
friend
(note: str = None)¶ Friend the Redditor.
Parameters: note – A note to save along with the relationship. Requires Reddit Premium (default: None). Calling this method subsequent times will update the note.
-
friend_info
() → _Redditor¶ Return a Redditor instance with specific friend-related attributes.
Returns: A Redditor
instance with fieldsdate
,id
, and possiblynote
if the authenticated user has Reddit Premium.
-
classmethod
from_data
(reddit, data)¶ Return an instance of Redditor, or None from
data
.
-
fullname
¶ Return the object’s fullname.
A fullname is an object’s kind mapping like
t3
followed by an underscore and the object’s base36 ID, e.g.,t1_c5s96e0
.
-
gild
(months: int = 1)¶ Gild the Redditor.
Parameters: months – Specifies the number of months to gild up to 36 (default: 1).
-
gilded
(**generator_kwargs) → Generator[[Any, None], None]¶ Return a
ListingGenerator
for gilded items.Additional keyword arguments are passed in the initialization of
ListingGenerator
.
-
gildings
(**generator_kwargs) → Generator[[Any, None], None]¶ Return a
ListingGenerator
for items the user has gilded.May raise
prawcore.Forbidden
after issuing the request if the user is not authorized to access the list. Note that because this function returns aListingGenerator
the exception may not occur until sometime after this function has returned.Additional keyword arguments are passed in the initialization of
ListingGenerator
.
Return a
ListingGenerator
for items the user has hidden.May raise
prawcore.Forbidden
after issuing the request if the user is not authorized to access the list. Note that because this function returns aListingGenerator
the exception may not occur until sometime after this function has returned.Additional keyword arguments are passed in the initialization of
ListingGenerator
.
-
hot
(**generator_kwargs) → Generator[[Any, None], None]¶ Return a
ListingGenerator
for hot items.Additional keyword arguments are passed in the initialization of
ListingGenerator
.This method can be used like:
reddit.domain('imgur.com').hot() reddit.multireddit('samuraisam', 'programming').hot() reddit.redditor('spez').hot() reddit.redditor('spez').comments.hot() reddit.redditor('spez').submissions.hot() reddit.subreddit('all').hot()
-
message
(subject, message, from_subreddit=None)¶ Send a message to a redditor or a subreddit’s moderators (mod mail).
Parameters: - subject – The subject of the message.
- message – The message content.
- from_subreddit – A
Subreddit
instance or string to send the message from. When provided, messages are sent from the subreddit rather than from the authenticated user. Note that the authenticated user must be a moderator of the subreddit and have themail
moderator permission.
For example, to send a private message to
u/spez
, try:reddit.redditor('spez').message('TEST', 'test message from PRAW')
To send a message to
u/spez
from the moderators ofr/test
try:reddit.redditor('spez').message('TEST', 'test message from r/test', from_subreddit='test')
To send a message to the moderators of
r/test
, try:reddit.subreddit('test').message('TEST', 'test PM from PRAW')
-
moderated
() → List[Subreddit]¶ Return a list of the redditor’s moderated subreddits.
Returns: A list
ofSubreddit
objects. Return[]
if the redditor has no moderated subreddits.Note
The redditor’s own user profile subreddit will not be returned, but other user profile subreddits they moderate will be returned.
Usage:
for subreddit in reddit.redditor('spez').moderated(): print(subreddit.display_name) print(subreddit.title)
-
multireddits
() → List[Multireddit]¶ Return a list of the redditor’s public multireddits.
-
new
(**generator_kwargs) → Generator[[Any, None], None]¶ Return a
ListingGenerator
for new items.Additional keyword arguments are passed in the initialization of
ListingGenerator
.This method can be used like:
reddit.domain('imgur.com').new() reddit.multireddit('samuraisam', 'programming').new() reddit.redditor('spez').new() reddit.redditor('spez').comments.new() reddit.redditor('spez').submissions.new() reddit.subreddit('all').new()
-
classmethod
parse
(data: Dict[str, Any], reddit: Reddit) → Any¶ Return an instance of
cls
fromdata
.Parameters: - data – The structured data.
- reddit – An instance of
Reddit
.
-
saved
(**generator_kwargs) → Generator[[Any, None], None]¶ Return a
ListingGenerator
for items the user has saved.May raise
prawcore.Forbidden
after issuing the request if the user is not authorized to access the list. Note that because this function returns aListingGenerator
the exception may not occur until sometime after this function has returned.Additional keyword arguments are passed in the initialization of
ListingGenerator
.
-
stream
¶ Provide an instance of
RedditorStream
.Streams can be used to indefinitely retrieve new comments made by a redditor, like:
for comment in reddit.redditor('spez').stream.comments(): print(comment)
Additionally, new submissions can be retrieved via the stream. In the following example all submissions are fetched via the redditor
spez
:for submission in reddit.redditor('spez').stream.submissions(): print(submission)
-
submissions
¶ Provide an instance of
SubListing
for submission access.For example, to output the title’s of top 100 of all time submissions for
/u/spez
try:for submission in reddit.redditor('spez').submissions.top('all'): print(submission.title)
-
top
(time_filter: str = 'all', **generator_kwargs) → Generator[[Any, None], None]¶ Return a
ListingGenerator
for top submissions.Parameters: time_filter – Can be one of: all, day, hour, month, week, year (default: all). Raise
ValueError
iftime_filter
is invalid.Additional keyword arguments are passed in the initialization of
ListingGenerator
.This method can be used like:
reddit.domain('imgur.com').top('week') reddit.multireddit('samuraisam', 'programming').top('day') reddit.redditor('spez').top('month') reddit.redditor('spez').comments.top('year') reddit.redditor('spez').submissions.top('all') reddit.subreddit('all').top('hour')
-
trophies
() → List[Trophy]¶ Return a list of the redditor’s trophies.
Returns: A list
ofTrophy
objects. Return[]
if the redditor has no trophy.Raise
prawcore.exceptions.BadRequest
if the redditor doesn’t exist.Usage:
for trophy in reddit.redditor('spez').trophies(): print(trophy.name) print(trophy.description)
-
unblock
()¶ Unblock the Redditor.
-
unfriend
()¶ Unfriend the Redditor.
-
upvoted
(**generator_kwargs) → Generator[[Any, None], None]¶ Return a
ListingGenerator
for items the user has upvoted.May raise
prawcore.Forbidden
after issuing the request if the user is not authorized to access the list. Note that because this function returns aListingGenerator
the exception may not occur until sometime after this function has returned.Additional keyword arguments are passed in the initialization of
ListingGenerator
.
-
Note
This list of attributes is not complete. PRAW dynamically provides the attributes that Reddit returns via the API. Because those attributes are subject to change on Reddit’s end, PRAW makes no effort to document them, other than to instruct you on how to discover what is available. See Determine Available Attributes of an Object for detailed information.