ModeratorRelationship¶
-
class
praw.models.reddit.subreddit.
ModeratorRelationship
(subreddit, relationship)¶ Provides methods to interact with a Subreddit’s moderators.
Moderators of a subreddit can be iterated through like so:
for moderator in reddit.subreddit('redditdev').moderator(): print(moderator)
-
__call__
(redditor=None)¶ Return a list of Redditors who are moderators.
Parameters: redditor – When provided, return a list containing at most one Redditor
instance. This is useful to confirm if a relationship exists, or to fetch the metadata associated with a particular relationship (default: None).Note
Unlike other relationship callables, this relationship is not paginated. Thus it simply returns the full list, rather than an iterator for the results.
To be used like:
moderators = reddit.subreddit('nameofsub').moderator()
For example, to list the moderators along with their permissions try:
for moderator in reddit.subreddit('SUBREDDIT').moderator(): print('{}: {}'.format(moderator, moderator.mod_permissions))
-
__init__
(subreddit, relationship)¶ Create a SubredditRelationship instance.
Parameters: - subreddit – The subreddit for the relationship.
- relationship – The name of the relationship.
-
add
(redditor, permissions=None, **other_settings)¶ Add or invite
redditor
to be a moderator of the subreddit.Parameters: - redditor – A redditor name (e.g.,
'spez'
) orRedditor
instance. - permissions – When provided (not
None
), permissions should be a list of strings specifying which subset of permissions to grant. An empty list[]
indicates no permissions, and when not providedNone
, indicates full permissions.
An invite will be sent unless the user making this call is an admin user.
- For example, to invite
'spez'
with'posts'
and'mail'
- permissions to
r/test
, try:
reddit.subreddit('test').moderator.add('spez', ['posts', 'mail'])
- redditor – A redditor name (e.g.,
-
invite
(redditor, permissions=None, **other_settings)¶ Invite
redditor
to be a moderator of the subreddit.Parameters: - redditor – A redditor name (e.g.,
'spez'
) orRedditor
instance. - permissions – When provided (not
None
), permissions should be a list of strings specifying which subset of permissions to grant. An empty list[]
indicates no permissions, and when not providedNone
, indicates full permissions.
- For example, to invite
'spez'
withposts
andmail
- permissions to
r/test
, try:
reddit.subreddit('test').moderator.invite('spez', ['posts', 'mail'])
- redditor – A redditor name (e.g.,
-
leave
()¶ Abdicate the moderator position (use with care).
For example:
reddit.subreddit('subredditname').moderator.leave()
-
remove
(redditor)¶ Remove
redditor
from this relationship.Parameters: redditor – A redditor name (e.g., 'spez'
) orRedditor
instance.
-
remove_invite
(redditor)¶ Remove the moderator invite for
redditor
.Parameters: redditor – A redditor name (e.g., 'spez'
) orRedditor
instance.For example:
reddit.subreddit('subredditname').moderator.remove_invite('spez')
-
update
(redditor, permissions=None)¶ Update the moderator permissions for
redditor
.Parameters: - redditor – A redditor name (e.g.,
'spez'
) orRedditor
instance. - permissions – When provided (not
None
), permissions should be a list of strings specifying which subset of permissions to grant. An empty list[]
indicates no permissions, and when not provided,None
, indicates full permissions.
For example, to add all permissions to the moderator, try:
subreddit.moderator.update('spez')
To remove all permissions from the moderator, try:
subreddit.moderator.update('spez', [])
- redditor – A redditor name (e.g.,
-
update_invite
(redditor, permissions=None)¶ Update the moderator invite permissions for
redditor
.Parameters: - redditor – A redditor name (e.g.,
'spez'
) orRedditor
instance. - permissions – When provided (not
None
), permissions should be a list of strings specifying which subset of permissions to grant. An empty list[]
indicates no permissions, and when not provided,None
, indicates full permissions.
For example, to grant the
flair`
andmail`
permissions to the moderator invite, try:subreddit.moderator.update_invite('spez', ['flair', 'mail'])
- redditor – A redditor name (e.g.,
-