@@ -444,7 +444,9 @@ def get_command_permissions(
444444 def _from_data (self , guild : GuildPayload ) -> None :
445445 # according to Stan, this is always available even if the guild is unavailable
446446 # I don't have this guarantee when someone updates the guild.
447- self ._member_count : Optional [int ] = guild .get ("member_count" , None )
447+ member_count = guild .get ("member_count" , None )
448+ if member_count is not None :
449+ self ._member_count : int = member_count
448450
449451 self .name : str = guild .get ("name" )
450452 self .region : VoiceRegion = try_enum (VoiceRegion , guild .get ("region" ))
@@ -508,9 +510,7 @@ def _from_data(self, guild: GuildPayload) -> None:
508510 self ._add_member (member )
509511
510512 self ._sync (guild )
511- self ._large : Optional [bool ] = (
512- None if self ._member_count is None else self ._member_count >= 250
513- )
513+ self ._large : Optional [bool ] = None if member_count is None else self ._member_count >= 250
514514
515515 self .owner_id : Optional [int ] = utils ._get_as_snowflake (guild , "owner_id" )
516516 self .afk_channel : Optional [VocalGuildChannel ] = self .get_channel (utils ._get_as_snowflake (guild , "afk_channel_id" )) # type: ignore
@@ -565,9 +565,9 @@ def large(self) -> bool:
565565 members, which for this library is set to the maximum of 250.
566566 """
567567 if self ._large is None :
568- if self . _member_count is not None :
568+ try :
569569 return self ._member_count >= 250
570- else :
570+ except AttributeError :
571571 return len (self ._members ) >= 250
572572 return self ._large
573573
@@ -938,9 +938,10 @@ def member_count(self) -> int:
938938 accurate, it requires :attr:`Intents.members` to be specified.
939939
940940 """
941- if self ._member_count is None :
941+ try :
942+ return self ._member_count
943+ except AttributeError :
942944 return len (self ._members )
943- return self ._member_count
944945
945946 @property
946947 def chunked (self ) -> bool :
0 commit comments