SubredditFlair

class asyncpraw.models.reddit.subreddit.SubredditFlair(subreddit: asyncpraw.models.Subreddit)

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

__call__(redditor: asyncpraw.models.Redditor | str | None = None, **generator_kwargs: Any) AsyncIterator[asyncpraw.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:

subreddit = await reddit.subreddit("test")
async for flair in subreddit.flair(limit=None):
    print(flair)
__init__(subreddit: asyncpraw.models.Subreddit)

Initialize a SubredditFlair instance.

Parameters:

subreddit – The subreddit whose flair to work with.

await configure(*, link_position: str = 'left', link_self_assign: bool = False, position: str = 'right', self_assign: bool = False, **settings: Any)

Update the Subreddit’s flair configuration.

Parameters:
  • link_position – One of "left", "right", or False to disable (default: "left").

  • link_self_assign – Permit self assignment of link flair (default: False).

  • position – One of "left", "right", or False to disable (default: "right").

  • self_assign – Permit self assignment of user flair (default: False).

subreddit = reddit.subreddit("test")
subreddit.flair.configure(link_position="right", self_assign=True)

Additional keyword arguments can be provided to handle new settings as Reddit introduces them.

await delete(redditor: asyncpraw.models.Redditor | str)

Delete flair for a Redditor.

Parameters:

redditor – A redditor name or Redditor instance.

See also

update() to delete the flair of many redditors at once.

await delete_all() List[Dict[str, 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:

subreddit = await reddit.subreddit("test")
async for template in subreddit.flair.link_templates:
    print(template)
await set(redditor: asyncpraw.models.Redditor | str, *, css_class: str = '', flair_template_id: str | None = None, text: str = '')

Set flair for a Redditor.

Parameters:
  • redditor – A redditor name 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:

subreddit = await reddit.subreddit("test")
await subreddit.flair.set("bboe", text="PRAW author", css_class="mods")
template = "6bd28436-1aa7-11e9-9902-0e05ab0fad46"
subreddit = await reddit.subreddit("test")
await subreddit.flair.set("spez", text="Reddit CEO", flair_template_id=template)
templates() asyncpraw.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:

subreddit = await reddit.subreddit("test")
async for template in subreddit.flair.templates:
    print(template)
await update(flair_list: Iterator[str | asyncpraw.models.Redditor | Dict[str, str | asyncpraw.models.Redditor]], *, text: str = '', css_class: str = '') List[Dict[str, 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.

    • 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 either "flair_text" or "flair_css_class" keys, the default values will come from the other arguments.

  • css_class – The css class to use when not explicitly provided in flair_list (default: "").

  • text – The flair text 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:

await subreddit.flair.update(["bboe", "spez", "spladug"], css_class="praw")