reddit.user¶
- class praw.models.User(reddit: praw.Reddit)¶
The user class provides methods for the currently authenticated user.
- __init__(reddit: praw.Reddit)¶
Initialize a User instance.
This class is intended to be interfaced with through
reddit.user
.
- blocked() List[praw.models.Redditor] ¶
Return a RedditorList of blocked Redditors.
- contributor_subreddits(**generator_kwargs: Union[str, int, Dict[str, str]]) Iterator[praw.models.Subreddit] ¶
Return a
ListingGenerator
of contributor subreddits.These are subreddits in which the user is an approved user.
Additional keyword arguments are passed in the initialization of
ListingGenerator
.To print a list of the subreddits that you are an approved user in, try:
for subreddit in reddit.user.contributor_subreddits(limit=None): print(str(subreddit))
- friends(user: Optional[Union[praw.models.Redditor, str]] = None) Union[List[praw.models.Redditor], praw.models.Redditor] ¶
Return a RedditorList of friends or a Redditor in the friends list.
- Parameters
user – Checks to see if you are friends with the Redditor. Either an instance of
Redditor
or a string can be given.- Returns
A list of Redditors, or a Redditor if you are friends with the given Redditor. The Redditor also has friend attributes.
- Raises
An instance of
RedditAPIException
if you are not friends with the specified Redditor.
- karma() Dict[praw.models.Subreddit, Dict[str, int]] ¶
Return a dictionary mapping subreddits to their karma.
The returned dict contains subreddits as keys. Each subreddit key contains a sub-dict that have keys for
comment_karma
andlink_karma
. The dict is sorted in descending karma order.Note
Each key of the main dict is an instance of
Subreddit
. It is recommended to iterate over the dict in order to retrieve the values, preferably throughdict.items()
.
- me(use_cache: bool = True) Optional[praw.models.Redditor] ¶
Return a
Redditor
instance for the authenticated user.- Parameters
use_cache – When true, and if this function has been previously called, returned the cached version (default: True).
Note
If you change the Reddit instance’s authorization, you might want to refresh the cached value. Prefer using separate Reddit instances, however, for distinct authorizations.
Deprecated since version 7.2: In
read_only
mode this method returnsNone
. In PRAW 8 this method will raiseReadOnlyException
when called inread_only
mode. To operate in PRAW 8 mode, set the config variablepraw8_raise_exception_on_me
toTrue
.
- moderator_subreddits(**generator_kwargs: Union[str, int, Dict[str, str]]) Iterator[praw.models.Subreddit] ¶
Return a
ListingGenerator
subreddits that the user moderates.Additional keyword arguments are passed in the initialization of
ListingGenerator
.To print a list of the names of the subreddits you moderate, try:
for subreddit in reddit.user.moderator_subreddits(limit=None): print(str(subreddit))
See also
- multireddits() List[praw.models.Multireddit] ¶
Return a list of multireddits belonging to the user.
- classmethod parse(data: Dict[str, Any], reddit: praw.Reddit) Any ¶
Return an instance of
cls
fromdata
.- Parameters
data – The structured data.
reddit – An instance of
Reddit
.
- preferences() praw.models.Preferences ¶
Get an instance of
Preferences
.The preferences can be accessed as a
dict
like so:preferences = reddit.user.preferences() print(preferences["show_link_flair"])
Preferences can be updated via:
reddit.user.preferences.update(show_link_flair=True)
The
Preferences.update()
method returns the new state of the preferences as adict
, which can be used to check whether a change went through. Changes with invalid types or parameter names fail silently.original_preferences = reddit.user.preferences() new_preferences = reddit.user.preferences.update(invalid_param=123) print(original_preferences == new_preferences) # True, no change
- subreddits(**generator_kwargs: Union[str, int, Dict[str, str]]) Iterator[praw.models.Subreddit] ¶
Return a
ListingGenerator
of subreddits the user is subscribed to.Additional keyword arguments are passed in the initialization of
ListingGenerator
.To print a list of the subreddits that you are subscribed to, try:
for subreddit in reddit.user.subreddits(limit=None): print(str(subreddit))
- trusted() List[praw.models.Redditor] ¶
Return a RedditorList of trusted Redditors.
To display the usernames of your trusted users and the times at which you decided to trust them, try:
trusted_users = reddit.user.trusted() for user in trusted_users: print(f"User: {user.name}, time: {user.date}")