SubredditEmoji

class asyncpraw.models.reddit.emoji.SubredditEmoji(subreddit)

Provides a set of functions to a Subreddit for emoji.

Parameters:

subreddit (asyncpraw.models.Subreddit)

__init__(subreddit)

Initialize a SubredditEmoji instance.

Parameters:

subreddit (Subreddit) – The subreddit whose emoji are affected.

Return type:

None

await add(*, media, mod_flair_only=None, name, post_flair_allowed=None, user_flair_allowed=None)

Add an emoji to this subreddit.

Parameters:
  • media (EmojiMedia) – The EmojiMedia to be uploaded as an emoji.

  • mod_flair_only (bool | None) – When provided, indicate whether the emoji is restricted to mod use only (default: None).

  • name (str) – The name of the emoji.

  • post_flair_allowed (bool | None) – When provided, indicate whether the emoji may appear in post flair (default: None).

  • user_flair_allowed (bool | None) – When provided, indicate whether the emoji may appear in user flair (default: None).

Return type:

Emoji

Returns:

The Emoji added.

To add "emoji" to r/test try:

from asyncpraw.models import EmojiMedia

media = EmojiMedia("emoji.png")
subreddit = await reddit.subreddit("test")
await subreddit.emoji.add(media=media, name="emoji")
await get_emoji(name, *, fetch=True)

Return the Emoji for the subreddit named name.

Parameters:
  • name (str) – The name of the emoji.

  • fetch (bool) – Determines if Async PRAW will fetch the object (default: True).

Return type:

Emoji

This method is to be used to fetch a specific emoji url, like so:

subreddit = await reddit.subreddit("test")
emoji = await subreddit.emoji.get_emoji("emoji")
print(emoji)

If you don’t need the object fetched right away (e.g., to utilize a class method) you can do:

subreddit = await reddit.subreddit("test")
emoji = await subreddit.emoji.get_emoji("emoji", fetch=False)
await emoji.delete()