# reddit.inbox

class `praw.models.``Inbox`(reddit, _data)

  Inbox is a Listing class that represents the Inbox.

  `__init__`(reddit, _data)

    Initialize a PRAWModel instance.

    Parameters: | reddit – An instance of `Reddit`.

  `all`(**generator_kwargs)

    Return a ListingGenerator for all inbox comments and messages.

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

    To output the type and ID of all items available via this listing do:

        for item in reddit.inbox.all(limit=None):
            print(repr(item))

  `collapse`(items)

    Mark an inbox message as collapsed.

    Parameters: | items – A list containing instances of `Message`.

    Requests are batched at 25 items (reddit limit).

    For example, to collapse all unread Messages, try:

        from praw.models import Message
        unread_messages = []
        for item in reddit.inbox.unread(limit=None):
            if isinstance(item, Message):
                unread_messages.append(item)
        reddit.inbox.collapse(unread_messages)

    See also

    `Message.uncollapse()`

  `comment_replies`(**generator_kwargs)

    Return a ListingGenerator for comment replies.

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

    To output the author of one request worth of comment replies try:

        for reply in reddit.inbox.comment_replies():
            print(reply.author)

  `mark_read`(items)

    Mark Comments or Messages as read.

    Parameters: | items – A list containing instances of `Comment` and/or `Message` to be be marked as read relative to the authorized user’s inbox.

    Requests are batched at 25 items (reddit limit).

    For example, to mark all unread Messages as read, try:

        from praw.models import Message
        unread_messages = []
        for item in reddit.inbox.unread(limit=None):
            if isinstance(item, Message):
                unread_messages.append(item)
        reddit.inbox.mark_read(unread_messages)

    See also

    `Comment.mark_read()` and `Message.mark_read()`

  `mark_unread`(items)

    Unmark Comments or Messages as read.

    Parameters: | items – A list containing instances of `Comment` and/or `Message` to be be marked as unread relative to the authorized user’s inbox.

    Requests are batched at 25 items (reddit limit).

    For example, to mark the first 10 items as unread try:

        to_unread = list(reddit.inbox.all(limit=10))
        reddit.inbox.mark_unread(to_unread)

    See also

    `Comment.mark_unread()` and `Message.mark_unread()`

  `mentions`(**generator_kwargs)

    Return a ListingGenerator for mentions.

    A mention is `Comment` in which the authorized redditor is named in its body like `/u/redditor_name`.

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

    For example, to output the author and body of the first 25 mentions try:

        for mention in reddit.inbox.mentions(limit=25):
            print('{}\n{}\n'.format(mention.author, mention.body))

  `message`(message_id)

    Return a Message corresponding to `message_id`.

    Parameters: | message_id – The base36 id of a message.

    Example:

        message = reddit.inbox.message('7bnlgu')

  `messages`(**generator_kwargs)

    Return a ListingGenerator for inbox messages.

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

    For example, to output the subject of the most recent 5 messages try:

        for message in reddit.inbox.messages(limit=5):
            print(message.subject)

  `parse`(data, reddit)

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

    Parameters:

    - data – The structured data.
    - reddit – An instance of `Reddit`.

  `sent`(**generator_kwargs)

    Return a ListingGenerator for sent messages.

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

    For example, to output the recipient of the mot recent 15 messages try:

        for message in reddit.inbox.sent(limit=15):
            print(message.dest)

  `stream`(**stream_options)

    Yield new inbox items as they become available.

    Items are yielded oldest first. Up to 100 historical items will initially be returned.

    Keyword arguments are passed to `stream_generator()`.

    For example, to retrieve all new inbox items, try:

        for item in reddit.inbox.stream():
            print(item)

  `submission_replies`(**generator_kwargs)

    Return a ListingGenerator for submission replies.

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

    To output the author of one request worth of submission replies try:

        for reply in reddit.inbox.submission_replies():
            print(reply.author)

  `uncollapse`(items)

    Mark an inbox message as uncollapsed.

    Parameters: | items – A list containing instances of `Message`.

    Requests are batched at 25 items (reddit limit).

    For example, to uncollapse all unread Messages, try:

        from praw.models import Message
        unread_messages = []
        for item in reddit.inbox.unread(limit=None):
            if isinstance(item, Message):
                unread_messages.append(item)
        reddit.inbox.uncollapse(unread_messages)

    See also

    `Message.collapse()`

  `unread`(mark_read=False, **generator_kwargs)

    Return a ListingGenerator for unread comments and messages.

    Parameters: | mark_read – Marks the inbox as read (default: False).

    Note

    This only marks the inbox as read not the messages. Use `Inbox.mark_read()` to mark the messages.

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

    For example, to output the author of unread comments try:

        from praw.models import Comment
        for item in reddit.inbox.unread(limit=None):
            if isinstance(item, Comment):
                print(item.author)