# Polls

class `praw.models.reddit.poll.``PollData`(reddit: Reddit, _data: Optional[Dict[str, Any]])

  Class to represent poll data on a poll submission.

  If `submission` is a poll `Submission`, access the poll data like so:

      poll_data = submission.poll_data
      print(f"There are {poll_data.total_vote_count} votes total.")
      print("The options are:")
      for option in poll_data.options:
          print(f"{option} ({option.vote_count} votes)")
      print(f"I voted for {poll_data.user_selection}.")

  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 necessarily complete.

  Attribute | Description
  --- | ---
  `options` | A list of `PollOption` of the poll.
  `total_vote_count` | The total number of votes cast in the poll.
  `user_selection` | The poll option selected by the authenticated user (possibly `None`).
  `voting_end_timestamp` | Time the poll voting closes, represented in Unix Time.

  `__init__`(reddit: Reddit, _data: Optional[Dict[str, Any]])

    Initialize a PRAWModel instance.

    Parameters

      reddit – An instance of `Reddit`.

  `option`(option_id: str) → praw.models.reddit.poll.PollOption

    Get the option with the specified ID.

    Parameters

      option_id – The ID of a poll option, as a `str`.

    Returns

      The specified `PollOption`.

    Raises

      `KeyError` if no option exists with the specified ID.

  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`.

  `user_selection`()

    Get the user’s selection in this poll, if any.

    Returns

      The user’s selection as a `PollOption`, or `None` if there is no choice.

class `praw.models.reddit.poll.``PollOption`(reddit: Reddit, _data: Optional[Dict[str, Any]])

  Class to represent one option of a poll.

  If `submission` is a poll `Submission`, access the poll’s options like so:

      poll_data = submission.poll_data

      # By index -- print the first option
      print(poll_data.options[0])

      # By ID -- print the option with ID "576797"
      print(poll_data.option("576797"))

  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 necessarily complete.

  Attribute | Description
  --- | ---
  `id` | ID of the poll option.
  `text` | The text of the poll option.
  `vote_count` | The number of votes the poll option has received.

  `__init__`(reddit: Reddit, _data: Optional[Dict[str, Any]])

    Initialize a PRAWModel instance.

    Parameters

      reddit – An instance of `Reddit`.

  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`.