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") or Redditor 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.

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") or Redditor 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 or css_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 keys user, flair_text, and flair_css_class to their respective values. The user key should map to a Redditor, as described above. When a dictionary isn’t provided, or the dictionary is missing one of flair_text, or flair_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")