Repository: Pycord-Development/pycord

Issue:
Add Support for premium_progress_bar_enabled
Guilds can enable a progress bar.

**This is an experiment, not everyone has access to it**

The key on guild settings is `premium_progress_bar_enabled` with the type `bool`

![2021-10-25_22h53_12](https://user-images.githubusercontent.com/14029133/138770842-46a701f1-1ed5-44d2-8982-4ece38fee203.png)
![2021-10-25_23h00_45](https://user-images.githubusercontent.com/14029133/138770849-cb5c3baa-ecdc-44dd-9cb4-2977b2855a26.png)
![image](https://user-images.githubusercontent.com/14029133/138770882-657bcedd-c6b7-4002-ae15-7f97cb5b5386.png)





Discussion:

Resolving patch:
diff --git a/discord/guild.py b/discord/guild.py
--- a/discord/guild.py
+++ b/discord/guild.py
@@ -239,6 +239,10 @@ class Guild(Hashable):
         The number goes from 0 to 3 inclusive.
     premium_subscription_count: :class:`int`
         The number of "boosts" this guild currently has.
+    premium_progress_bar_enabled: :class:`bool`
+        Indicates if the guild has premium progress bar enabled.
+        
+        .. versionadded:: 2.0
     preferred_locale: Optional[:class:`str`]
         The preferred locale for the guild. Used when filtering Server Discovery
         results to a specific language.
@@ -269,6 +273,7 @@ class Guild(Hashable):
         'max_video_channel_users',
         'premium_tier',
         'premium_subscription_count',
+        'premium_progress_bar_enabled',
         'preferred_locale',
         'nsfw_level',
         '_members',
@@ -449,6 +454,7 @@ def _from_data(self, guild: GuildPayload) -> None:
         self.max_video_channel_users: Optional[int] = guild.get('max_video_channel_users')
         self.premium_tier: int = guild.get('premium_tier', 0)
         self.premium_subscription_count: int = guild.get('premium_subscription_count') or 0
+        self.premium_progress_bar_enabled: bool = guild.get('premium_progress_bar_enabled') or False
         self._system_channel_flags: int = guild.get('system_channel_flags', 0)
         self.preferred_locale: Optional[str] = guild.get('preferred_locale')
         self._discovery_splash: Optional[str] = guild.get('discovery_splash')
@@ -1370,6 +1376,7 @@ async def edit(
         preferred_locale: str = MISSING,
         rules_channel: Optional[TextChannel] = MISSING,
         public_updates_channel: Optional[TextChannel] = MISSING,
+        premium_progress_bar_enabled: bool = MISSING,
     ) -> Guild:
         r"""|coro|
 
@@ -1447,6 +1454,8 @@ async def edit(
             The new channel that is used for public updates from Discord. This is only available to
             guilds that contain ``PUBLIC`` in :attr:`Guild.features`. Could be ``None`` for no
             public updates channel.
+        premium_progress_bar_enabled: :class:`bool`
+            Whether the guild should have premium progress bar enabled. 
         reason: Optional[:class:`str`]
             The reason for editing this guild. Shows up on the audit log.
 
@@ -1577,6 +1586,9 @@ async def edit(
                     )
 
             fields['features'] = features
+        
+        if premium_progress_bar_enabled is not MISSING:
+            fields['premium_progress_bar_enabled'] = premium_progress_bar_enabled
 
         data = await http.edit_guild(self.id, reason=reason, **fields)
         return Guild(data=data, state=self._state)
diff --git a/discord/http.py b/discord/http.py
--- a/discord/http.py
+++ b/discord/http.py
@@ -1077,6 +1077,7 @@ def edit_guild(self, guild_id: Snowflake, *, reason: Optional[str] = None, **fie
             'rules_channel_id',
             'public_updates_channel_id',
             'preferred_locale',
+            'premium_progress_bar_enabled',
         )
 
         payload = {k: v for k, v in fields.items() if k in valid_keys}
diff --git a/discord/types/guild.py b/discord/types/guild.py
--- a/discord/types/guild.py
+++ b/discord/types/guild.py
@@ -66,6 +66,7 @@ class _GuildOptional(TypedDict, total=False):
     max_presences: Optional[int]
     max_members: int
     premium_subscription_count: int
+    premium_progress_bar_enabled: bool
     max_video_channel_users: int
 
 


Test patch: