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 and link_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 through dict.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 returns None. In PRAW 8 this method will raise ReadOnlyException when called in read_only mode. To operate in PRAW 8 mode, set the config variable praw8_raise_exception_on_me to True.

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))
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 from data.

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 a dict, 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}")