RuleModeration

class asyncpraw.models.reddit.rules.RuleModeration(rule)

Contain methods used to moderate rules.

To delete "No spam" from r/test try:

subreddit = await reddit.subreddit("test")
rule = await subreddit.rules.get_rule("No Spam")
await rule.mod.delete()

To update "No spam" from r/test try:

subreddit = await reddit.subreddit("test")
rule = await subreddit.rules.get_rule("No Spam")
await rule.mod.update(description="Don't do this!", violation_reason="Spam post")
Parameters:

rule (asyncpraw.models.Rule)

__init__(rule)

Initialize a RuleModeration instance.

Parameters:

rule (Rule)

Return type:

None

await delete()

Delete a rule from this subreddit.

To delete "No spam" from r/test try:

subreddit = await reddit.subreddit("test")
rule = await subreddit.rules.get_rule("No Spam", fetch=False)
await rule.mod.delete()
Return type:

None

await update(*, description=None, kind=None, short_name=None, violation_reason=None)

Update the rule from this subreddit.

Note

Existing values will be used for any unspecified arguments.

Parameters:
  • description (str | None) – The new description for the rule. Can be empty.

  • kind (str | None) – The kind of item that the rule applies to. One of "link", "comment", or "all".

  • short_name (str | None) – The name of the rule.

  • violation_reason (str | None) – The reason that is shown on the report menu.

Return type:

Rule

Returns:

A Rule object containing the updated values.

To update "No spam" from r/test try:

subreddit = reddit.subreddit("test")
rule = await subreddit.rules.get_rule("No Spam")
await rule.mod.update(description="Don't do this!", violation_reason="Spam post")