Table of Contents

Class Snowflake

Namespace
NetCord
Assembly
NetCord.dll

Provides utilities for creating, parsing and extracting values from snowflake identifiers.

public static class Snowflake
Inheritance
Snowflake
Inherited Members

Methods

Create(DateTimeOffset)

Creates a snowflake.

public static ulong Create(DateTimeOffset timestamp)

Parameters

timestamp DateTimeOffset

The timestamp at which the snowflake was created. Sub-millisecond precision is truncated.

Returns

ulong

The created snowflake.

Create(DateTimeOffset, byte, byte, ushort)

Creates a snowflake.

public static ulong Create(DateTimeOffset timestamp, byte internalWorkerId, byte internalProcessId, ushort increment)

Parameters

timestamp DateTimeOffset

The timestamp at which the snowflake was created. Sub-millisecond precision is truncated.

internalWorkerId byte

The ID of the internal worker that created the snowflake. Must be in range 0-31.

internalProcessId byte

The ID of the internal process that created the snowflake. Must be in range 0-31.

increment ushort

The increment value for the snowflake. Must be in range 0-4095.

Returns

ulong

The created snowflake.

Create(long)

Creates a snowflake.

public static ulong Create(long timestamp)

Parameters

timestamp long

The timestamp at which the snowflake was created, in Unix time milliseconds.

Returns

ulong

The created snowflake.

Create(long, byte, byte, ushort)

Creates a snowflake.

public static ulong Create(long timestamp, byte internalWorkerId, byte internalProcessId, ushort increment)

Parameters

timestamp long

The timestamp at which the snowflake was created, in Unix time milliseconds.

internalWorkerId byte

The ID of the internal worker that created the snowflake. Must be in range 0-31.

internalProcessId byte

The ID of the internal process that created the snowflake. Must be in range 0-31.

increment ushort

The increment value for the snowflake. Must be in range 0-4095.

Returns

ulong

The created snowflake.

CreateUnsafe(DateTimeOffset)

Creates a snowflake. Skips validation.

public static ulong CreateUnsafe(DateTimeOffset timestamp)

Parameters

timestamp DateTimeOffset

The timestamp at which the snowflake was created. Sub-millisecond precision is truncated.

Returns

ulong

The created snowflake.

CreateUnsafe(DateTimeOffset, byte, byte, ushort)

Creates a snowflake. Skips validation.

public static ulong CreateUnsafe(DateTimeOffset timestamp, byte internalWorkerId, byte internalProcessId, ushort increment)

Parameters

timestamp DateTimeOffset

The timestamp at which the snowflake was created. Sub-millisecond precision is truncated.

internalWorkerId byte

The ID of the internal worker that created the snowflake. Must be in range 0-31.

internalProcessId byte

The ID of the internal process that created the snowflake. Must be in range 0-31.

increment ushort

The increment value for the snowflake. Must be in range 0-4095.

Returns

ulong

The created snowflake.

CreateUnsafe(long)

Creates a snowflake. Skips validation.

public static ulong CreateUnsafe(long timestamp)

Parameters

timestamp long

The timestamp at which the snowflake was created, in Unix time milliseconds.

Returns

ulong

The created snowflake.

CreateUnsafe(long, byte, byte, ushort)

Creates a snowflake. Skips validation.

public static ulong CreateUnsafe(long timestamp, byte internalWorkerId, byte internalProcessId, ushort increment)

Parameters

timestamp long

The timestamp at which the snowflake was created, in Unix time milliseconds.

internalWorkerId byte

The ID of the internal worker that created the snowflake. Must be in range 0-31.

internalProcessId byte

The ID of the internal process that created the snowflake. Must be in range 0-31.

increment ushort

The increment value for the snowflake. Must be in range 0-4095.

Returns

ulong

The created snowflake.

Increment(ulong)

Gets the increment value for the snowflake.

public static ushort Increment(ulong id)

Parameters

id ulong

The snowflake identifier.

Returns

ushort

The increment value for the snowflake.

InternalProcessId(ulong)

Gets the ID of the internal process that created the snowflake.

public static byte InternalProcessId(ulong id)

Parameters

id ulong

The snowflake identifier.

Returns

byte

The ID of the internal process that created the snowflake.

InternalWorkerId(ulong)

Gets the ID of the internal worker that created the snowflake.

public static byte InternalWorkerId(ulong id)

Parameters

id ulong

The snowflake identifier.

Returns

byte

The ID of the internal worker that created the snowflake.

Parse(ReadOnlySpan<byte>)

Parses a snowflake from a span of UTF-8 characters.

public static ulong Parse(ReadOnlySpan<byte> value)

Parameters

value ReadOnlySpan<byte>

The span of UTF-8 characters to parse.

Returns

ulong

The resulting snowflake identifier.

Parse(ReadOnlySpan<char>)

Parses a snowflake from a span of characters.

public static ulong Parse(ReadOnlySpan<char> value)

Parameters

value ReadOnlySpan<char>

The span of characters to parse.

Returns

ulong

The resulting snowflake identifier.

ShardId(ulong, int)

Gets the ID of the shard that the guild belongs to.

public static int ShardId(ulong guildId, int shardCount)

Parameters

guildId ulong

The ID of the guild.

shardCount int

The total number of shards.

Returns

int

The ID of the shard that the guild belongs to.

Timestamp(ulong)

Gets the timestamp at which the snowflake was created.

public static DateTimeOffset Timestamp(ulong id)

Parameters

id ulong

The snowflake identifier.

Returns

DateTimeOffset

The timestamp at which the snowflake was created.

TryParse(ReadOnlySpan<byte>, out ulong)

Tries to parse a snowflake from a span of UTF-8 characters.

public static bool TryParse(ReadOnlySpan<byte> value, out ulong id)

Parameters

value ReadOnlySpan<byte>

The span of UTF-8 characters to parse.

id ulong

The resulting snowflake identifier.

Returns

bool

true if value was parsed successfully; otherwise, false.

TryParse(ReadOnlySpan<char>, out ulong)

Tries to parse a snowflake from a span of characters.

public static bool TryParse(ReadOnlySpan<char> value, out ulong id)

Parameters

value ReadOnlySpan<char>

The span of characters to parse.

id ulong

The resulting snowflake identifier.

Returns

bool

true if value was parsed successfully; otherwise, false.