reddit.inbox¶
- class asyncpraw.models.Inbox(reddit, _data)¶
Inbox is a Listing class that represents the inbox.
- Parameters:
reddit (asyncpraw.Reddit)
- __init__(reddit, _data)¶
Initialize a
AsyncPRAWBaseinstance.
- all(**generator_kwargs)¶
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:
async for item in reddit.inbox.all(limit=None): print(repr(item))
- Return type:
- Parameters:
generator_kwargs (Any)
- await collapse(items)¶
Mark an inbox message as collapsed.
Requests are batched at 25 items (reddit limit).
For example, to collapse all unread Messages, try:
from asyncpraw.models import Message unread_messages = [] async for item in reddit.inbox.unread(limit=None): if isinstance(item, Message): unread_messages.append(item) await reddit.inbox.collapse(unread_messages)
See also
- comment_replies(**generator_kwargs)¶
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:
async for reply in reddit.inbox.comment_replies(): print(reply.author)
- Return type:
- Parameters:
generator_kwargs (Any)
- await mark_all_read()¶
Mark all messages as read with just one API call.
Example usage:
await reddit.inbox.mark_all_read()
Note
This method returns after Reddit acknowledges your request, instead of after the request has been fulfilled.
- Return type:
- await mark_read(items)¶
Mark Comments or Messages as read.
- Parameters:
items (
list[Comment|Message]) – A list containing instances ofCommentand/orMessageto be marked as read relative to the authorized user’s inbox.- Return type:
Requests are batched at 25 items (reddit limit).
For example, to mark all unread Messages as read, try:
from asyncpraw.models import Message unread_messages = [] async for item in reddit.inbox.unread(limit=None): if isinstance(item, Message): unread_messages.append(item) await reddit.inbox.mark_read(unread_messages)
See also
- await mark_unread(items)¶
Unmark Comments or Messages as read.
- Parameters:
items (
list[Comment|Message]) – A list containing instances ofCommentand/orMessageto be marked as unread relative to the authorized user’s inbox.- Return type:
Requests are batched at 25 items (Reddit limit).
For example, to mark the first 10 items as unread try:
to_unread = [msg async for msg in reddit.inbox.all(limit=10)] await reddit.inbox.mark_unread(to_unread)
- mentions(**generator_kwargs)¶
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:
async for mention in reddit.inbox.mentions(limit=25): print(f"{mention.author}\\n{mention.body}\\n")
- Return type:
- Parameters:
generator_kwargs (Any)
- await message(message_id)¶
Return a
Messagecorresponding tomessage_id.For example:
message = await reddit.inbox.message("7bnlgu")
- messages(**generator_kwargs)¶
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:
async for message in reddit.inbox.messages(limit=5): print(message.subject)
- Return type:
- Parameters:
generator_kwargs (Any)
- classmethod parse(data, reddit)¶
Return an instance of
clsfromdata.
- sent(**generator_kwargs)¶
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:
async for message in reddit.inbox.sent(limit=15): print(message.dest)
- Return type:
- Parameters:
generator_kwargs (Any)
- 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:
async for item in reddit.inbox.stream(): print(item)
- Return type:
- Parameters:
stream_options (Any)
- submission_replies(**generator_kwargs)¶
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:
async for reply in reddit.inbox.submission_replies(): print(reply.author)
- Return type:
- Parameters:
generator_kwargs (Any)
- await uncollapse(items)¶
Mark an inbox message as uncollapsed.
Requests are batched at 25 items (reddit limit).
For example, to uncollapse all unread Messages, try:
from asyncpraw.models import Message unread_messages = [] async for item in reddit.inbox.unread(limit=None): if isinstance(item, Message): unread_messages.append(item) await reddit.inbox.uncollapse(unread_messages)
See also
- unread(*, mark_read=False, **generator_kwargs)¶
Return a
ListingGeneratorfor unread comments and messages.- Parameters:
- Return type:
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 asyncpraw.models import Comment async for item in reddit.inbox.unread(limit=None): if isinstance(item, Comment): print(item.author)