Source code for cordy.models.intents

from __future__ import annotations

from .flags import Flag, IntFlags, populate_flags

__all__ = (
    "Intents",
)

[docs]@populate_flags class Intents(IntFlags): guilds = Flag(1 << 0) """:class:`bool`: Wether guild related events are enabled""" members = Flag(1 << 1) """:class:`bool`: Wether guild member related events are enabled""" bans = Flag(1 << 2) """:class:`bool`: Wether guild bans related events are enabled""" emojis_and_stickers = Flag(1 << 3) """:class:`bool`: Wether guild emoji and sticker related events are enabled""" integrations = Flag(1 << 4) """:class:`bool`: Wether guild integrations related events are enabled""" webhooks = Flag(1 << 5) """:class:`bool`: Wether guild webhoks related events are enabled""" invites = Flag(1 << 6) """:class:`bool`: Wether guild invites related events are enabled""" voice_states = Flag(1 << 7) """:class:`bool`: Wether guild voice state related events are enabled""" presences = Flag(1 << 8) """:class:`bool`: Wether guild member presences related events are enabled""" guild_messages = Flag(1 << 9) """:class:`bool`: Wether guild messages related events are enabled""" guild_reactions = Flag(1 << 10) """:class:`bool`: Wether guild reactions related events are enabled""" guild_typing = Flag(1 << 11) """:class:`bool`: Wether guild typing related events are enabled""" dm_messages = Flag(1 << 12) """:class:`bool`: Wether dm messages related events are enabled""" dm_reactions = Flag(1 << 13) """:class:`bool`: Wether dm reactions related events are enabled""" dm_typing = Flag(1 << 14) """:class:`bool`: Wether dm typing related events are enabled""" messages = Flag((1 << 9) | (1 << 12)) """:class:`bool`: Wether guild and dm message related events are enabled""" reactions = Flag((1 << 10) | (1 << 13)) """:class:`bool`: Wether guild and dm reaction related events are enabled""" typing = Flag((1 << 11) | (1 << 14)) """:class:`bool`: Wether guild and dm typing related events are enabled"""
[docs] @classmethod def all(cls) -> Intents: """Create an Intents object with all instents enabled. Returns ------- :class:`.Intents` The Intents object """ inst = cls() inst.value = 2 ** cls._LEN_FLAGS - 1 return inst
[docs] @classmethod def privileged(cls) -> Intents: """Create an Intents object with only ``GUILD_PRESENCES`` & ``GUILD_MEMBERS`` intents enabled. Returns ------- :class:`.Intents` The Intents object """ inst = cls() inst.presences = True inst.members = True return inst
[docs] @classmethod def default(cls) -> Intents: """Create an Intents object with all intents except privileged enabled. Returns ------- :class:`.Intents` The Intents object """ inst = cls.all() inst.presences = False inst.members = False return inst
[docs] @classmethod def none(cls) -> Intents: """Create an Intents object with no intents enabled. Returns ------- :class:`.Intents` The Intents object """ return cls()