@@ -298,7 +298,7 @@ async def __aexit__(self, exc_type, exc_val, exc_tb):
298298
299299
300300@define ()
301- class Tags (ClientSerializerMixin ): # helpers, hehe :D
301+ class Tags (ClientSerializerMixin ):
302302 """
303303 .. versionadded:: 4.3.2
304304
@@ -310,17 +310,23 @@ class Tags(ClientSerializerMixin): # helpers, hehe :D
310310 :ivar str name: Name of the tag. The limit is up to 20 characters.
311311 :ivar Snowflake id: ID of the tag. Can also be 0 if manually created.
312312 :ivar bool moderated: A boolean denoting whether this tag can be removed/added by moderators with the :attr:`.Permissions.MANAGE_THREADS` permission.
313- :ivar Optional[Emoji] emoji : The emoji to represent the tag, if any .
314-
313+ :ivar Optional[str] emoji_name : The unicode character of the emoji .
314+ :ivar Optional[Snowflake] emoji_id: The id of a guild's custom emoji.
315315 """
316316
317317 # TODO: Rename these to discord-docs
318318 name : str = field ()
319319 id : Snowflake = field (converter = Snowflake )
320320 moderated : bool = field ()
321- emoji : Optional [Emoji ] = field (converter = Emoji , default = None )
321+ emoji_name : Optional [str ] = field (default = None )
322+ emoji_id : Optional [Snowflake ] = field (converter = Snowflake , default = None )
322323
323- # Maybe on post_attrs_init replace emoji object with one from cache for name population?
324+ @property
325+ def emoji (self ) -> Emoji :
326+ """
327+ Returns an emoji of tag.
328+ """
329+ return Emoji (name = self .emoji_name , id = self .emoji_id , _client = self ._client )
324330
325331 @property
326332 def created_at (self ) -> datetime :
@@ -432,6 +438,7 @@ class Channel(ClientSerializerMixin, IDMixin):
432438 :ivar Optional[int] total_message_sent: Number of messages ever sent in a thread.
433439 :ivar Optional[int] default_thread_slowmode_delay: The default slowmode delay in seconds for threads, if this channel is a forum.
434440 :ivar Optional[List[Tags]] available_tags: Tags in a forum channel, if any.
441+ :ivar Optional[List[Snowflake]] applied_tags: The IDs of tags that have been applied to a thread, if any.
435442 :ivar Optional[Emoji] default_reaction_emoji: Default reaction emoji for threads created in a forum, if any.
436443 """
437444
@@ -483,7 +490,8 @@ class Channel(ClientSerializerMixin, IDMixin):
483490 default_thread_slowmode_delay : Optional [int ] = field (default = None , repr = False )
484491 available_tags : Optional [List [Tags ]] = field (
485492 converter = convert_list (Tags ), default = None , add_client = True
486- ) # eh?
493+ )
494+ applied_tags : Optional [List [Snowflake ]] = field (converter = convert_list (Snowflake ), default = None )
487495 default_reaction_emoji : Optional [Emoji ] = field (converter = Emoji , default = None )
488496
489497 def __attrs_post_init__ (self ): # sourcery skip: last-if-guard
0 commit comments