# SubredditFlair

class `praw.models.reddit.subreddit.``SubredditFlair`(subreddit)

  Provide a set of functions to interact with a Subreddit’s flair.

  `__call__`(redditor=None, **generator_kwargs)

    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)

    Create a SubredditFlair instance.

    Parameters

      subreddit – The subreddit whose flair to work with.

  `configure`(position='right', self_assign=False, link_position='left', link_self_assign=False, **settings)

    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)

    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`()

    Delete all Redditor flair in the Subreddit.

    Returns

      List of dictionaries indicating the success or failure of each delete.

  `link_templates`()

    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, text='', css_class='', flair_template_id=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`()

    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, text='', css_class='')

    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")