diff options
| author | Rapptz <[email protected]> | 2020-09-15 01:59:51 -0400 |
|---|---|---|
| committer | Rapptz <[email protected]> | 2020-09-23 03:21:21 -0400 |
| commit | 8d5c05ed20af0598750d61c5b9c62f4d37e4aeb1 (patch) | |
| tree | 01f4ef33986df7c47d7676b111164f63a7e2a347 /discord/flags.py | |
| parent | Add a special exception for required privileged intents (diff) | |
| download | discord.py-8d5c05ed20af0598750d61c5b9c62f4d37e4aeb1.tar.xz discord.py-8d5c05ed20af0598750d61c5b9c62f4d37e4aeb1.zip | |
Default MemberCacheFlags based on intents
Diffstat (limited to 'discord/flags.py')
| -rw-r--r-- | discord/flags.py | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/discord/flags.py b/discord/flags.py index a204937c..4607b2ce 100644 --- a/discord/flags.py +++ b/discord/flags.py @@ -754,6 +754,32 @@ class MemberCacheFlags(BaseFlags): """ return 4 + @classmethod + def from_intents(cls, intents): + """A factory method that creates a :class:`MemberCacheFlags` based on + the currently selected :class:`Intents`. + + Parameters + ------------ + intents: :class:`Intents` + The intents to select from. + + Returns + --------- + :class:`MemberCacheFlags` + The resulting member cache flags. + """ + + self = cls.none() + if intents.members: + self.joined = True + if intents.presences: + self.online = True + if intents.voice_states: + self.voice = True + + return self + def _verify_intents(self, intents): if self.online and not intents.presences: raise ValueError('MemberCacheFlags.online requires Intents.presences enabled') |