# 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)