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("test").flair(limit=None): print(flair)
- __init__(subreddit: praw.models.Subreddit)
Initialize a
SubredditFlair
instance.- Parameters
subreddit – The subreddit whose flair to work with.
- 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"
, orFalse
to disable (default:"left"
).link_self_assign – Permit self assignment of link flair (default:
False
).position – One of
"left"
,"right"
, orFalse
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.
- delete(redditor: Union[praw.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.
- delete_all() List[Dict[str, Union[str, bool, Dict[str, str]]]]
Delete all
Redditor
flair in theSubreddit
.- 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 theflair
moderator permission on try:for template in reddit.subreddit("test").flair.link_templates: print(template)
- set(redditor: Union[praw.models.Redditor, str], *, css_class: str = '', flair_template_id: Optional[str] = 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
orSubmission
(default:""
).css_class – The css class to associate with the flair html (default:
""
). Use either this orflair_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("test").flair.set("bboe", text="PRAW author", css_class="mods") template = "6bd28436-1aa7-11e9-9902-0e05ab0fad46" reddit.subreddit("test").flair.set( "spez", text="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 theflair
moderator permission on try:for template in reddit.subreddit("test").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
.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:subreddit.flair.update(["bboe", "spez", "spladug"], css_class="praw")