reddit.user
***********

class praw.models.User(reddit: Reddit)

   The user class provides methods for the currently authenticated
   user.

   __init__(reddit: Reddit)

      Initialize a User instance.

      This class is intended to be interfaced with through
      "reddit.user".

   blocked() -> List[praw.models.reddit.redditor.Redditor]

      Return a RedditorList of blocked Redditors.

   contributor_subreddits(**generator_kwargs: Union[str, int, Dict[str, str]]) -> Iterator[praw.models.reddit.subreddit.Subreddit]

      Return a "ListingGenerator" of contributor subreddits.

      These are subreddits that the user is a contributor of.

      Additional keyword arguments are passed in the initialization of
      "ListingGenerator".

   friends(user: Optional[Union[str, praw.models.reddit.redditor.Redditor]] = None) -> Union[List[praw.models.reddit.redditor.Redditor], praw.models.reddit.redditor.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.reddit.subreddit.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.reddit.redditor.Redditor]

      Return a "Redditor" instance for the authenticated user.

      In "read_only" mode, this method returns "None".

      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.

   multireddits() -> List[Multireddit]

      Return a list of multireddits belonging to the user.

   classmethod parse(data: Dict[str, Any], reddit: Reddit) -> Any

      Return an instance of "cls" from "data".

      Parameters:
         * **data** – The structured data.

         * **reddit** – An instance of "Reddit".

   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.reddit.subreddit.Subreddit]

      Return a "ListingGenerator" of subreddits the user is subscribed
      to.

      Additional keyword arguments are passed in the initialization of
      "ListingGenerator".
