Table of Contents

Class Group

Namespace
Nyra.Entities
Assembly
Nyra.dll

A group of players under one id, from NodeLink's group routes.

public sealed record Group : IEquatable<Group>
Inheritance
Group
Implements
Inherited Members

Remarks

A group only records its membership and drives the members' players, every operation fans out to each guild's player through the regular per-player paths, so the effects arrive as the ordinary per-guild events (player created, track started, and so on), there are no group-specific events. Deleting a group does not touch the players, they keep playing on their own. NodeLink only.

Properties

CreatedAt

When the group was created, Unix epoch milliseconds.

[JsonPropertyName("createdAt")]
[JsonInclude]
public long CreatedAt { get; }

Property Value

long

CreatedAtTime

When the group was created, as a date.

[JsonIgnore]
public DateTimeOffset CreatedAtTime { get; }

Property Value

DateTimeOffset

Remarks

MinValue when the epoch value is out of the convertible range, which the exact floor of the range reads as too, so the sentinel cannot be told apart from it.

GuildIds

The guilds of the group.

[JsonPropertyName("guildIds")]
[JsonInclude]
[JsonConverter(typeof(SnowflakeListConverter))]
public IReadOnlyList<ulong> GuildIds { get; }

Property Value

IReadOnlyList<ulong>

Remarks

A guild may belong to any number of groups at once, membership is not exclusive. The server expects real Discord snowflake ids, a non-snowflake value is rejected.

Id

The caller-chosen identifier of the group.

[JsonPropertyName("id")]
[JsonInclude]
public string Id { get; }

Property Value

string

Remarks

Only ids of letters, digits, underscores and dashes are addressable in the group URL, the server accepts but leaves anything else unreachable. Absorbs a null id the server sends.

Methods

Equals(Group?)

Indicates whether both groups carry the same id, creation time and membership.

public bool Equals(Group? other)

Parameters

other Group

The group to compare with.

Returns

bool

Whether the members match, the membership compared by content.

GetHashCode()

Returns a hash of the group's comparable members.

public override int GetHashCode()

Returns

int

The hash code.