reddit.inbox#
- class praw.models.Inbox(reddit: praw.Reddit, _data: Optional[Dict[str, Any]])#
Inbox is a Listing class that represents the inbox.
- __init__(reddit: praw.Reddit, _data: Optional[Dict[str, Any]])#
Initialize a
PRAWBaseinstance.- Parameters:
reddit – An instance of
Reddit.
- all(**generator_kwargs: Union[str, int, Dict[str, str]]) Iterator[Union[praw.models.Message, praw.models.Comment]]#
Return a
ListingGeneratorfor 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: List[praw.models.Message])#
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
- comment_replies(**generator_kwargs: Union[str, int, Dict[str, str]]) Iterator[praw.models.Comment]#
Return a
ListingGeneratorfor 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_all_read()#
Mark all messages as read with just one API call.
Example usage:
reddit.inbox.mark_all_read()
Note
This method returns after Reddit acknowledges your request, instead of after the request has been fulfilled.
- mark_read(items: List[Union[praw.models.Comment, praw.models.Message]])#
Mark Comments or Messages as read.
- Parameters:
items – A list containing instances of
Commentand/orMessageto 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
- mark_unread(items: List[Union[praw.models.Comment, praw.models.Message]])#
Unmark Comments or Messages as read.
- Parameters:
items – A list containing instances of
Commentand/orMessageto 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)
- mentions(**generator_kwargs: Union[str, int, Dict[str, str]]) Iterator[praw.models.Comment]#
Return a
ListingGeneratorfor mentions.A mention is
Commentin which the authorized redditor is named in its body like u/spez.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(f"{mention.author}\\n{mention.body}\\n")
- message(message_id: str) praw.models.Message#
Return a
Messagecorresponding tomessage_id.- Parameters:
message_id – The base36 ID of a message.
For example:
message = reddit.inbox.message("7bnlgu")
- messages(**generator_kwargs: Union[str, int, Dict[str, str]]) Iterator[praw.models.Message]#
Return a
ListingGeneratorfor 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)
- classmethod parse(data: Dict[str, Any], reddit: praw.Reddit) Any#
Return an instance of
clsfromdata.- Parameters:
data – The structured data.
reddit – An instance of
Reddit.
- sent(**generator_kwargs: Union[str, int, Dict[str, str]]) Iterator[praw.models.Message]#
Return a
ListingGeneratorfor sent messages.Additional keyword arguments are passed in the initialization of
ListingGenerator.For example, to output the recipient of the most recent 15 messages try:
for message in reddit.inbox.sent(limit=15): print(message.dest)
- stream(**stream_options: Union[str, int, Dict[str, str]]) Iterator[Union[praw.models.Message, praw.models.Comment]]#
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: Union[str, int, Dict[str, str]]) Iterator[praw.models.Comment]#
Return a
ListingGeneratorfor 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: List[praw.models.Message])#
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
- unread(*, mark_read: bool = False, **generator_kwargs: Union[str, int, Dict[str, str]]) Iterator[Union[praw.models.Message, praw.models.Comment]]#
Return a
ListingGeneratorfor 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)