SubredditFlair
- class praw.models.reddit.subreddit.SubredditFlair(subreddit: praw.models.Subreddit)
Provide a set of functions to interact with a Subreddit’s flair.
- __call__(redditor: Optional[Union[praw.models.Redditor, str]] = None, **generator_kwargs: Any) Iterator[praw.models.Redditor]
Return a
ListingGenerator
for Redditors and their flairs.- Parameters
redditor – When provided, yield at most a single
Redditor
instance (default: None).
Additional keyword arguments are passed in the initialization of
ListingGenerator
.Usage:
for flair in reddit.subreddit("NAME").flair(limit=None): print(flair)
- __init__(subreddit: praw.models.Subreddit)
Create a SubredditFlair instance.
- Parameters
subreddit – The subreddit whose flair to work with.
- configure(position: str = 'right', self_assign: bool = False, link_position: str = 'left', link_self_assign: bool = False, **settings: Any)
Update the subreddit’s flair configuration.
- Parameters
position – One of left, right, or False to disable (default: right).
self_assign – (boolean) Permit self assignment of user flair (default: False).
link_position – One of left, right, or False to disable (default: left).
link_self_assign – (boolean) Permit self assignment of link flair (default: False).
Additional keyword arguments can be provided to handle new settings as Reddit introduces them.
- delete(redditor: Union[praw.models.Redditor, str])
Delete flair for a Redditor.
- Parameters
redditor – A redditor name (e.g.,
"spez"
) orRedditor
instance.
See also
update()
to delete the flair of many Redditors at once.
- delete_all() List[Dict[str, Union[str, bool, Dict[str, str]]]]
Delete all Redditor flair in the Subreddit.
- Returns
List of dictionaries indicating the success or failure of each delete.
- link_templates() praw.models.reddit.subreddit.SubredditLinkFlairTemplates
Provide an instance of
SubredditLinkFlairTemplates
.Use this attribute for interacting with a subreddit’s link flair templates. For example to list all the link flair templates for a subreddit which you have the
flair
moderator permission on try:for template in reddit.subreddit("NAME").flair.link_templates: print(template)
- set(redditor: Union[praw.models.Redditor, str], text: str = '', css_class: str = '', flair_template_id: Optional[str] = None)
Set flair for a Redditor.
- Parameters
redditor – (Required) A redditor name (e.g.,
"spez"
) orRedditor
instance.text – The flair text to associate with the Redditor or Submission (default: “”).
css_class – The css class to associate with the flair html ((default: “”)). Use either this or
flair_template_id
.flair_template_id – The ID of the flair template to be used (default:
None
). Use either this orcss_class
.
This method can only be used by an authenticated user who is a moderator of the associated Subreddit.
For example:
reddit.subreddit("redditdev").flair.set("bboe", "PRAW author", css_class="mods") template = "6bd28436-1aa7-11e9-9902-0e05ab0fad46" reddit.subreddit("redditdev").flair.set( "spez", "Reddit CEO", flair_template_id=template )
- templates() praw.models.reddit.subreddit.SubredditRedditorFlairTemplates
Provide an instance of
SubredditRedditorFlairTemplates
.Use this attribute for interacting with a subreddit’s flair templates. For example to list all the flair templates for a subreddit which you have the
flair
moderator permission on try:for template in reddit.subreddit("NAME").flair.templates: print(template)
- update(flair_list: Iterator[Union[str, praw.models.Redditor, Dict[str, Union[str, praw.models.Redditor]]]], text: str = '', css_class: str = '') List[Dict[str, Union[str, bool, Dict[str, str]]]]
Set or clear the flair for many Redditors at once.
- Parameters
flair_list – Each item in this list should be either: the name of a Redditor, an instance of
Redditor
, or a dictionary mapping keysuser
,flair_text
, andflair_css_class
to their respective values. Theuser
key should map to a Redditor, as described above. When a dictionary isn’t provided, or the dictionary is missing one offlair_text
, orflair_css_class
attributes the default values will come from the the following arguments.text – The flair text to use when not explicitly provided in
flair_list
(default: “”).css_class – The css class to use when not explicitly provided in
flair_list
(default: “”).
- Returns
List of dictionaries indicating the success or failure of each update.
For example, to clear the flair text, and set the
praw
flair css class on a few users try:subreddit.flair.update(["bboe", "spez", "spladug"], css_class="praw")