Issues (1445)

pincer/utils/shards.py (1 issue)

1
# Copyright Pincer 2021-Present
0 ignored issues
show
Missing module docstring
Loading history...
2
# Full MIT License can be found in `LICENSE` at the project root.
3
4
from __future__ import annotations
5
6
from typing import TYPE_CHECKING
7
8
if TYPE_CHECKING:
9
    from typing import Union
10
    from .snowflake import Snowflake
11
12
13
def calculate_shard_id(guild_id: Union[Snowflake, int], num_shards: int) -> int:
14
    """Calculates the shard receiving the events for a specified guild
15
16
    Parameters
17
    ----------
18
    guild_id : Optional[~pincer.utils.snowflake.Snowflake]
19
        The guild_id of the shard to look for
20
    num_shards : Optional[int]
21
        The number of shards.
22
    """
23
    return (guild_id >> 22) % num_shards
24