diff --git a/disagreement/enums.py b/disagreement/enums.py index d224576..68e59c3 100644 --- a/disagreement/enums.py +++ b/disagreement/enums.py @@ -49,6 +49,11 @@ class GatewayIntent(IntEnum): AUTO_MODERATION_CONFIGURATION = 1 << 20 AUTO_MODERATION_EXECUTION = 1 << 21 + @classmethod + def none(cls) -> int: + """Return a bitmask representing no intents.""" + return 0 + @classmethod def default(cls) -> int: """Returns default intents (excluding privileged ones like members, presences, message content).""" diff --git a/docs/gateway.md b/docs/gateway.md index 2e2444f..910a0ad 100644 --- a/docs/gateway.md +++ b/docs/gateway.md @@ -16,3 +16,9 @@ bot = Client( ``` These values are passed to `GatewayClient` and applied whenever the connection needs to be re-established. + +## Gateway Intents + +`GatewayIntent` values control which events your bot receives from the Gateway. Use +`GatewayIntent.none()` to opt out of all events entirely. It returns `0`, which +represents a bitmask with no intents enabled. diff --git a/tests/test_gateway_intent.py b/tests/test_gateway_intent.py new file mode 100644 index 0000000..f1714ca --- /dev/null +++ b/tests/test_gateway_intent.py @@ -0,0 +1,7 @@ +import pytest + +from disagreement.enums import GatewayIntent + + +def test_gateway_intent_none_equals_zero(): + assert GatewayIntent.none() == 0