LiveThread
**********

class praw.models.LiveThread(reddit: Reddit, id: Optional[str] = None, _data: Optional[Dict[str, Any]] = None)

   An individual LiveThread object.

   **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                                               |
   |=========================|===========================================================|
   | "created_utc"           | The creation time of the live thread, in Unix Time.       |
   +-------------------------+-----------------------------------------------------------+
   | "description"           | Description of the live thread, as Markdown.              |
   +-------------------------+-----------------------------------------------------------+
   | "description_html"      | Description of the live thread, as HTML.                  |
   +-------------------------+-----------------------------------------------------------+
   | "id"                    | The ID of the live thread.                                |
   +-------------------------+-----------------------------------------------------------+
   | "nsfw"                  | A "bool" representing whether or not the live thread is   |
   |                         | marked as NSFW.                                           |
   +-------------------------+-----------------------------------------------------------+

   __getitem__(update_id: str) -> praw.models.reddit.live.LiveUpdate

      Return a lazy "LiveUpdate" instance.

      Parameters:
         **update_id** -- A live update ID, e.g.,
         ""7827987a-c998-11e4-a0b9-22000b6a88d2"".

      Usage:

         thread = reddit.live("ukaeu1ik4sw5")
         update = thread["7827987a-c998-11e4-a0b9-22000b6a88d2"]
         update.thread  # LiveThread(id="ukaeu1ik4sw5")
         update.id  # "7827987a-c998-11e4-a0b9-22000b6a88d2"
         update.author  # "umbrae"

   __init__(reddit: Reddit, id: Optional[str] = None, _data: Optional[Dict[str, Any]] = None)

      Initialize a lazy "LiveThread" instance.

      Parameters:
         * **reddit** -- An instance of "Reddit".

         * **id** -- A live thread ID, e.g., ""ukaeu1ik4sw5""

   contrib()

      Provide an instance of "LiveThreadContribution".

      Usage:

         thread = reddit.live("ukaeu1ik4sw5")
         thread.contrib.add("### update")

   contributor()

      Provide an instance of "LiveContributorRelationship".

      You can call the instance to get a list of contributors which is
      represented as "RedditorList" instance consists of "Redditor"
      instances. Those Redditor instances have "permissions"
      attributes as contributors:

         thread = reddit.live("ukaeu1ik4sw5")
         for contributor in thread.contributor():
             # prints `(Redditor(name="Acidtwist"), ["all"])`
             print(contributor, contributor.permissions)

   discussions(**generator_kwargs: Union[str, int, Dict[str, str]]) -> Iterator[Submission]

      Get submissions linking to the thread.

      Parameters:
         **generator_kwargs** -- keyword arguments passed to
         "ListingGenerator" constructor.

      Returns:
         A "ListingGenerator" object which yields "Submission" object.

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

      Usage:

         thread = reddit.live("ukaeu1ik4sw5")
         for submission in thread.discussions(limit=None):
             print(submission.title)

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

   report(type: str)

      Report the thread violating the Reddit rules.

      Parameters:
         **type** -- One of ""spam"", ""vote-manipulation"",
         ""personal- information"", ""sexualizing-minors"", ""site-
         breaking"".

      Usage:

         thread = reddit.live("xyu8kmjvfrww")
         thread.report("spam")

   stream()

      Provide an instance of "LiveThreadStream".

      Streams are used to indefinitely retrieve new updates made to a
      live thread, like:

         for live_update in reddit.live("ta535s1hq2je").stream.updates():
             print(live_update.body)

      Updates are yielded oldest first as "LiveUpdate". Up to 100
      historical updates will initially be returned. To only retrieve
      new updates starting from when the stream is created, pass
      "skip_existing=True":

         live_thread = reddit.live("ta535s1hq2je")
         for live_update in live_thread.stream.updates(skip_existing=True):
             print(live_update.author)

   updates(**generator_kwargs: Union[str, int, Dict[str, str]]) -> Iterator[praw.models.reddit.live.LiveUpdate]

      Return a "ListingGenerator" yields "LiveUpdate" s.

      Parameters:
         **generator_kwargs** -- keyword arguments passed to
         "ListingGenerator" constructor.

      Returns:
         A "ListingGenerator" object which yields "LiveUpdate" object.

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

      Usage:

         thread = reddit.live("ukaeu1ik4sw5")
         after = "LiveUpdate_fefb3dae-7534-11e6-b259-0ef8c7233633"
         for submission in thread.updates(limit=5, params={"after": after}):
             print(submission.body)
