diff --git a/interactions/api/models/guild.py b/interactions/api/models/guild.py index 41f57cd88..f22eb8725 100644 --- a/interactions/api/models/guild.py +++ b/interactions/api/models/guild.py @@ -1654,6 +1654,18 @@ async def get_all_members(self) -> List[Member]: return [Member(**_, _client=self._client) for _ in _all_members] + @property + def icon_url(self) -> str: + """ + Returns the URL of the guild's icon. + :return: URL of the guild's icon (None will be returned if none of icon is set) + :rtype: str + """ + if self.icon is not None: + url = f"https://cdn.discordapp.com/icons/{int(self.id)}/{self.icon}" + url += ".gif" if self.icon.startswith("a_") else ".png" + return url + class GuildPreview(DictSerializerMixin): """ diff --git a/interactions/api/models/guild.pyi b/interactions/api/models/guild.pyi index d3bec8056..35742d6d3 100644 --- a/interactions/api/models/guild.pyi +++ b/interactions/api/models/guild.pyi @@ -413,6 +413,8 @@ class Guild(DictSerializerMixin): limit: Optional[int] = 1 ) -> List[Member]: ... async def get_all_members(self) -> List[Member]: ... + @property + def icon_url(self) -> str: ... class GuildPreview(DictSerializerMixin): _json: dict