Source code for redditwarp.models.moderation_note
from typing import Any, Mapping, Optional
from datetime import datetime
from dataclasses import dataclass
from .datamemento import DatamementoDataclassesMixin
[docs]@dataclass(repr=False, eq=False)
class ModerationNote(DatamementoDataclassesMixin):
#_: KW_ONLY
d: Mapping[str, Any]
uuid: str
unixtime: int
("""
Unix timestamp of when the mod note entry was made.
""")
datetime: datetime
("""
Datetime object of when the mod note entry was made.
""")
label: str
subreddit_id: int
("""
ID of the subreddit in which this note belongs.
""")
subreddit: str
("""
Name of the subreddit in which this note belongs.
""")
agent_id: int
("""
User ID of the moderator associated with this note.
""")
agent: str
("""
Name of the moderator associated with this note.
""")
target_id: int
("""
ID of the user who this note applies to.
""")
target: str
("""
Name of the user who this note applies to.
""")
[docs]@dataclass(repr=False, eq=False)
class ModerationActionNote(ModerationNote):
label: str
("""
Values: `APPROVAL`, `REMOVAL`, `BAN`, `MUTE`,
`INVITE`, `SPAM`, `CONTENT_CHANGE`, `MOD_ACTION`.
""")
action: str
("""
Name of the mod log action. In lowercase.
""")
[docs]@dataclass(repr=False, eq=False)
class ModerationUserNote(ModerationNote):
label: str
("""
Values: empty string, `ABUSE_WARNING`, `SPAM_WARNING`, `SPAM_WATCH`,
`SOLID_CONTRIBUTOR`, `HELPFUL_USER`, `BOT_BAN`, `PERMA_BAN`, `BAN`.
Value empty string if no label was assigned to this note.
""")
note: str
("""
Content of the user note.
""")
has_anchor: bool
("""
Whether this note is associated with a submission or comment.
If true then either :attr:`anchor_submission_id` or :attr:`anchor_comment_id` will be non-`None`.
""")
anchor_submission_id: Optional[int]
("""
The submission ID associated with this user note.
""")
anchor_comment_id: Optional[int]
("""
The comment ID associated with this user note.
""")