@@ -110,3 +110,88 @@ async def delete_guild_emoji(
110110 Route ("DELETE" , "/guilds/{guild_id}/emojis/{emoji_id}" , guild_id = guild_id , emoji_id = emoji_id ),
111111 reason = reason ,
112112 )
113+
114+ async def get_application_emojis (self , application_id : "Snowflake_Type" ) -> list [discord_typings .EmojiData ]:
115+ """
116+ Fetch all emojis for this application
117+
118+ Args:
119+ application_id: The id of the application
120+
121+ Returns:
122+ List of emojis
123+
124+ """
125+ result = await self .request (Route ("GET" , f"/applications/{ application_id } /emojis" ))
126+ result = cast (dict , result )
127+ return cast (list [discord_typings .EmojiData ], result ["items" ])
128+
129+ async def get_application_emoji (
130+ self , application_id : "Snowflake_Type" , emoji_id : "Snowflake_Type"
131+ ) -> discord_typings .EmojiData :
132+ """
133+ Fetch an emoji for this application
134+
135+ Args:
136+ application_id: The id of the application
137+ emoji_id: The id of the emoji
138+
139+ Returns:
140+ Emoji object
141+
142+ """
143+ result = await self .request (Route ("GET" , f"/applications/{ application_id } /emojis/{ emoji_id } " ))
144+ return cast (discord_typings .EmojiData , result )
145+
146+ async def create_application_emoji (
147+ self , payload : dict , application_id : "Snowflake_Type" , reason : str | None = None
148+ ) -> discord_typings .EmojiData :
149+ """
150+ Create an emoji for this application
151+
152+ Args:
153+ application_id: The id of the application
154+ name: The name of the emoji
155+ imagefile: The image file to use for the emoji
156+
157+ Returns:
158+ Emoji object
159+
160+ """
161+ result = await self .request (
162+ Route ("POST" , f"/applications/{ application_id } /emojis" ), payload = payload , reason = reason
163+ )
164+ return cast (discord_typings .EmojiData , result )
165+
166+ async def edit_application_emoji (
167+ self , application_id : "Snowflake_Type" , emoji_id : "Snowflake_Type" , name : str
168+ ) -> discord_typings .EmojiData :
169+ """
170+ Edit an emoji for this application
171+
172+ Args:
173+ application_id: The id of the application
174+ emoji_id: The id of the emoji
175+ name: The new name for the emoji
176+
177+ Returns:
178+ Emoji object
179+
180+ """
181+ result = await self .request (
182+ Route ("PATCH" , f"/applications/{ application_id } /emojis/{ emoji_id } " ), payload = {"name" : name }
183+ )
184+ return cast (discord_typings .EmojiData , result )
185+
186+ async def delete_application_emoji (
187+ self , application_id : discord_typings .Snowflake , emoji_id : discord_typings .Snowflake
188+ ) -> None :
189+ """
190+ Delete an emoji for this application
191+
192+ Args:
193+ application_id: The id of the application
194+ emoji_id: The id of the emoji
195+
196+ """
197+ await self .request (Route ("DELETE" , f"/applications/{ application_id } /emojis/{ emoji_id } " ))
0 commit comments