Comment

class praw.models.Comment(reddit, id=None, _data=None)

A class that represents a reddit comments.

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

Construct an instance of the Comment object.

block()

Block the user who sent the item.

Note

Reddit does not permit blocking users unless you have a Comment or Message from them.

clear_vote()

Clear the authenticated user’s vote on the object.

Note

Votes must be cast by humans. That is, API clients proxying a human’s action one-for-one are OK, but bots deciding how to vote on content or amplifying a human’s vote are not. See the reddit rules for more details on what constitutes vote cheating. [Ref]

delete()

Delete the object.

downvote()

Downvote the object.

Note

Votes must be cast by humans. That is, API clients proxying a human’s action one-for-one are OK, but bots deciding how to vote on content or amplifying a human’s vote are not. See the reddit rules for more details on what constitutes vote cheating. [Ref]

edit(body)

Replace the body of the object with body.

Parameters:body – The markdown formatted content for the updated object.
Returns:The current instance after updating its attributes.
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.

gild()

Gild the author of the item.

is_root

Return True when the comment is a top level comment.

mark_read()

Mark the item as read.

mark_unread()

Mark the item as unread.

mod

Provide an instance of CommentModeration.

parent()

Return the parent of the comment.

The returned parent will be an instance of either Comment, or Submission.

If this comment was obtained through a Submission, then its entire ancestry should be immediately available, requiring no extra network requests. However, if this comment was obtained through other means, e.g., reddit.comment('COMMENT_ID'), or reddit.inbox.comment_replies, then the returned parent may be a lazy instance of either Comment, or Submission.

Lazy Comment Example:

comment = reddit.comment('cklhv0f')
parent = comment.parent()
# `replies` is empty until the comment is refreshed
print(parent.replies)  # Output: []
parent.refresh()
print(parent.replies)  # Output is at least: [Comment(id='cklhv0f')]
parse(data, reddit)

Return an instance of cls from data.

Parameters:
  • data – The structured data.
  • reddit – An instance of Reddit.

Return a permalink to the comment.

Parameters:fast – Return the result as quickly as possible (default: False).

In order to determine the full permalink for a comment, the Submission may need to be fetched if it hasn’t been already. Set fast=True if you want to bypass that possible load.

A full permalink looks like: /r/redditdev/comments/2gmzqe/praw_https_enabled/cklhv0f

A fast-loaded permalink for the same comment will look like: /comments/2gmzqe//cklhv0f

refresh()

Refresh the comment’s attributes.

If using Reddit.comment() this method must be called in order to obtain the comment’s replies.

replies

Provide an instance of CommentForest.

reply(body)

Reply to the object.

Parameters:body – The markdown formatted content for a comment.
Returns:A Comment object for the newly created comment.
report(reason)

Report this object to the moderators of its subreddit.

Parameters:reason – The reason for reporting.
save(category=None)

Save the object.

Parameters:category – (Gold) The category to save to. If your user does not have gold this value is ignored by Reddit (default: None).
submission

Return the Submission object this comment belongs to.

unsave()

Unsave the object.

upvote()

Upvote the object.

Note

Votes must be cast by humans. That is, API clients proxying a human’s action one-for-one are OK, but bots deciding how to vote on content or amplifying a human’s vote are not. See the reddit rules for more details on what constitutes vote cheating. [Ref]