ModmailConversation
*******************

class praw.models.ModmailConversation(reddit, id=None, mark_read=False, _data=None)

   A class for modmail conversations.

   **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 comprehensive in any way.

   +-------------------------+-----------------------------------------------------+
   | Attribute               | Description                                         |
   +=========================+=====================================================+
   | "authors"               | Provides an ordered list of "Redditor" instances.   |
   |                         | The authors of each message in the modmail          |
   |                         | conversation.                                       |
   +-------------------------+-----------------------------------------------------+
   | "id"                    | The ID of the ModmailConversation.                  |
   +-------------------------+-----------------------------------------------------+
   | "is_highlighted"        | Whether or not the ModmailConversation is           |
   |                         | highlighted.                                        |
   +-------------------------+-----------------------------------------------------+
   | "is_internal"           | Whether or not the ModmailConversation is a private |
   |                         | mod conversation.                                   |
   +-------------------------+-----------------------------------------------------+
   | "last_mod_update"       | Time of the last mod message reply, represented in  |
   |                         | the ISO 8601 standard with timezone.                |
   +-------------------------+-----------------------------------------------------+
   | "last_updated"          | Time of the last message reply, represented in the  |
   |                         | ISO 8601 standard with timezone.                    |
   +-------------------------+-----------------------------------------------------+
   | "last_user_update"      | Time of the last user message reply, represented in |
   |                         | the ISO 8601 standard with timezone.                |
   +-------------------------+-----------------------------------------------------+
   | "num_messages"          | The number of messages in the ModmailConversation.  |
   +-------------------------+-----------------------------------------------------+
   | "obj_ids"               | Provides a list of dictionaries representing mod    |
   |                         | actions on the ModmailConversation. Each dict       |
   |                         | contains attributes of 'key' and 'id'. The key can  |
   |                         | be either 'messages' or 'ModAction'. ModAction      |
   |                         | represents archiving/highlighting etc.              |
   +-------------------------+-----------------------------------------------------+
   | "owner"                 | Provides an instance of "Subreddit". The subreddit  |
   |                         | that the ModmailConversation belongs to.            |
   +-------------------------+-----------------------------------------------------+
   | "participant"           | Provides an instance of "Redditor". The             |
   |                         | participating user in the ModmailConversation.      |
   +-------------------------+-----------------------------------------------------+
   | "subject"               | The subject of the ModmailConversation.             |
   +-------------------------+-----------------------------------------------------+

   __init__(reddit, id=None, mark_read=False, _data=None)

      Construct an instance of the ModmailConversation object.

      Parameters:
         **mark_read** -- If True, conversation is marked as read
         (default: False).

   archive()

      Archive the conversation.

      Example:

         reddit.subreddit('redditdev').modmail('2gmz').archive()

   fullname

      Return the object's fullname.

      A fullname is an object's kind mapping like "t3" followed by an
      underscore and the object's base36 ID, e.g., "t1_c5s96e0".

   highlight()

      Highlight the conversation.

      Example:

         reddit.subreddit('redditdev').modmail('2gmz').highlight()

   mute()

      Mute the non-mod user associated with the conversation.

      Example:

         reddit.subreddit('redditdev').modmail('2gmz').mute()

   classmethod parse(data, reddit, convert_objects=True)

      Return an instance of ModmailConversation from "data".

      Parameters:
         * **data** -- The structured data.

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

         * **convert_objects** -- If True, convert message and mod
           action data into objects (default: True).

   read(other_conversations=None)

      Mark the conversation(s) as read.

      Parameters:
         **other_conversations** -- A list of other conversations to
         mark (default: None).

      For example, to mark the conversation as read along with other
      recent conversations from the same user:

         subreddit = reddit.subreddit('redditdev')
         conversation = subreddit.modmail.conversation('2gmz')
         conversation.read(other_conversations=conversation.user.recent_convos)

   reply(body, author_hidden=False, internal=False)

      Reply to the conversation.

      Parameters:
         * **body** -- The markdown formatted content for a message.

         * **author_hidden** -- When True, author is hidden from
           non- moderators (default: False).

         * **internal** -- When True, message is a private moderator
           note, hidden from non-moderators (default: False).

      Returns:
         A "ModmailMessage" object for the newly created message.

      For example, to reply to the non-mod user while hiding your
      username:

         conversation = reddit.subreddit('redditdev').modmail('2gmz')
         conversation.reply('Message body', author_hidden=True)

      To create a private moderator note on the conversation:

         conversation.reply('Message body', internal=True)

   unarchive()

      Unarchive the conversation.

      Example:

         reddit.subreddit('redditdev').modmail('2gmz').unarchive()

   unhighlight()

      Un-highlight the conversation.

      Example:

         reddit.subreddit('redditdev').modmail('2gmz').unhighlight()

   unmute()

      Unmute the non-mod user associated with the conversation.

      Example:

         reddit.subreddit('redditdev').modmail('2gmz').unmute()

   unread(other_conversations=None)

      Mark the conversation(s) as unread.

      Parameters:
         **other_conversations** -- A list of other conversations to
         mark (default: None).

      For example, to mark the conversation as unread along with other
      recent conversations from the same user:

         subreddit = reddit.subreddit('redditdev')
         conversation = subreddit.modmail.conversation('2gmz')
         conversation.unread(other_conversations=conversation.user.recent_convos)
