Repository: interactions-py/interactions.py

Issue:
[BUG] Moderated argument missing for tags
### Library Version

5.11.0

### Describe the Bug

While creating a new tag for a forum you can set the moderation value for it. 

![image](https://github.com/interactions-py/interactions.py/assets/51890392/af101b91-e144-4b91-967d-c8e71b5129b2)

![image](https://github.com/interactions-py/interactions.py/assets/51890392/131b8810-ba25-4b13-9f92-36a5695011a3)
https://discord.com/developers/docs/resources/channel#forum-tag-object-forum-tag-structure


### Steps to Reproduce

Try to create a mod only tag for a forum channel.

### Expected Results

That you can make the tag mod only

### Minimal Reproducible Code

_No response_

### Traceback

_No response_

### Checklist

- [X] I have searched the open issues for duplicates.
- [X] I have shown the entire traceback, if possible.
- [X] I have removed my token from display, if visible.
- [X] I have attempted to debug this myself, and I believe this issue is with the library

### Additional Information

_No response_


Discussion:
Is this only an issue for `.create_tag()`? This also appears to be a feature request since it's missing functionality.

Resolving patch:
diff --git a/interactions/api/http/http_requests/channels.py b/interactions/api/http/http_requests/channels.py
--- a/interactions/api/http/http_requests/channels.py
+++ b/interactions/api/http/http_requests/channels.py
@@ -585,6 +585,7 @@ async def create_tag(
         name: str,
         emoji_id: Optional["Snowflake_Type"] = None,
         emoji_name: Optional[str] = None,
+        moderated: bool = False,
     ) -> discord_typings.ChannelData:
         """
         Create a new tag.
@@ -594,6 +595,7 @@ async def create_tag(
             name: The name of the tag
             emoji_id: The ID of the emoji to use for the tag
             emoji_name: The name of the emoji to use for the tag
+            moderated: whether this tag can only be added to or removed from threads by a member with the MANAGE_THREADS permission
 
         !!! note
             Can either have an `emoji_id` or an `emoji_name`, but not both.
@@ -603,6 +605,7 @@ async def create_tag(
             "name": name,
             "emoji_id": int(emoji_id) if emoji_id else None,
             "emoji_name": emoji_name or None,
+            "moderated": moderated,
         }
         payload = dict_filter_none(payload)
 
diff --git a/interactions/models/discord/channel.py b/interactions/models/discord/channel.py
--- a/interactions/models/discord/channel.py
+++ b/interactions/models/discord/channel.py
@@ -2581,13 +2581,16 @@ def predicate(tag: ThreadTag) -> Optional["ThreadTag"]:
 
         return next((tag for tag in self.available_tags if predicate(tag)), None)
 
-    async def create_tag(self, name: str, emoji: Union["models.PartialEmoji", dict, str, None] = None) -> "ThreadTag":
+    async def create_tag(
+        self, name: str, emoji: Union["models.PartialEmoji", dict, str, None] = None, moderated: bool = False
+    ) -> "ThreadTag":
         """
         Create a tag for this forum.
 
         Args:
             name: The name of the tag
             emoji: The emoji to use for the tag
+            moderated: whether this tag can only be added to or removed from threads by a member with the MANAGE_THREADS permission
 
         !!! note
             If the emoji is a custom emoji, it must be from the same guild as the channel.
@@ -2596,7 +2599,7 @@ async def create_tag(self, name: str, emoji: Union["models.PartialEmoji", dict,
             The created tag object.
 
         """
-        payload = {"channel_id": self.id, "name": name}
+        payload = {"channel_id": self.id, "name": name, "moderated": moderated}
 
         if emoji:
             if isinstance(emoji, str):


Test patch: