Table of Contents

Class Profile

Namespace
idunno.Bluesky.Actor
Assembly
idunno.Bluesky.dll

Encapsulates a Bluesky account profile.

[JsonPolymorphic(IgnoreUnrecognizedTypeDiscriminators = true, UnknownDerivedTypeHandling = JsonUnknownDerivedTypeHandling.FallBackToBaseType)]
[JsonDerivedType(typeof(Profile), "app.bsky.actor.profile")]
public record Profile : BlueskyRecord, IEquatable<AtProtoRecord>, IEquatable<BlueskyRecord>, IEquatable<Profile>

Inheritance

AtProtoRecord

Implements

Inherited Members

AtProtoRecord.Equals(AtProtoRecord?)
AtProtoRecord.GetHashCode()
AtProtoRecord.ToString()
AtProtoRecord.PrintMembers(StringBuilder)
AtProtoRecord.Equals(object?)
AtProtoRecord.<Clone>$()
AtProtoRecord.EqualityContract
AtProtoRecord.ExtensionData

Constructors

Profile(string?, string?, string?, Uri?, Blob?, Blob?, StrongReference?, SelfLabels?)

Creates a new instance of idunno.Bluesky.Actor.Profile, with the creation date set to the current UTC time.

public Profile(string? displayName = null, string? description = null, string? pronouns = null, Uri? website = null, Blob? avatar = null, Blob? banner = null, StrongReference? pinnedPost = null, SelfLabels? labels = null)

Parameters

displayName string?

The display name of the account, if any.

description string?

The description for the account, if any.

pronouns string?

The pronouns for the account, if any.

website Uri?

The website for the account, if any.

avatar Blob?

A small image to be displayed next to posts from account, if any.

banner Blob?

A larger horizontal image to display behind profile view, if any.

pinnedPost StrongReference?

A idunno.AtProto.Repo.StrongReference to the profile's pinned post, if any.

labels SelfLabels?

Any idunno.AtProto.Labels.SelfLabels applied to the profile.

Profile(string?, string?, string?, Uri?, Blob?, Blob?, StrongReference?, SelfLabels?, DateTimeOffset)

Creates a new instance of idunno.Bluesky.Actor.Profile.

public Profile(string? displayName, string? description, string? pronouns, Uri? website, Blob? avatar, Blob? banner, StrongReference? pinnedPost, SelfLabels? labels, DateTimeOffset createdAt)

Parameters

displayName string?

The display name of the account, if any.

description string?

The description for the account, if any.

pronouns string?

The pronouns for the account, if any.

website Uri?

The website for the account, if any.

avatar Blob?

A small image to be displayed next to posts from account, if any.

banner Blob?

A larger horizontal image to display behind profile view, if any.

pinnedPost StrongReference?

A idunno.AtProto.Repo.StrongReference to the profile's pinned post, if any.

labels SelfLabels?

Any idunno.AtProto.Labels.SelfLabels applied to the profile.

createdAt DateTimeOffset

The System.DateTimeOffset the record was created at.

Profile(string?, string?, string?, Uri?, Blob?, Blob?, StrongReference?, StrongReference?, SelfLabels?, DateTimeOffset?)

Creates a new instance of idunno.Bluesky.Actor.Profile.

[JsonConstructor]
public Profile(string? displayName, string? description, string? pronouns, Uri? website, Blob? avatar, Blob? banner, StrongReference? joinedViaStarterPack, StrongReference? pinnedPost, SelfLabels? labels, DateTimeOffset? createdAt)

Parameters

displayName string?

The display name of the account, if any.

description string?

The description for the account, if any.

pronouns string?

The pronouns for the account, if any.

website Uri?

The website for the account, if any.

avatar Blob?

A small image to be displayed next to posts from account, if any.

banner Blob?

A larger horizontal image to display behind profile view, if any.

joinedViaStarterPack StrongReference?

A idunno.AtProto.Repo.StrongReference to the starter pack the account joined through, if any.

pinnedPost StrongReference?

A idunno.AtProto.Repo.StrongReference to the profile's pinned post, if any.

labels SelfLabels?

Any idunno.AtProto.Labels.SelfLabels applied to the profile.

createdAt DateTimeOffset?

The System.DateTimeOffset the record was created at.

Profile(Profile)

protected Profile(Profile original)

Parameters

original Profile

Profile(string?, string?, string?, Uri?, Blob?, Blob?, StrongReference?, SelfLabels?)

Creates a new instance of idunno.Bluesky.Actor.Profile, with the creation date set to the current UTC time.

public Profile(string? displayName = null, string? description = null, string? pronouns = null, Uri? website = null, Blob? avatar = null, Blob? banner = null, StrongReference? pinnedPost = null, SelfLabels? labels = null)

Parameters

displayName string?

The display name of the account, if any.

description string?

The description for the account, if any.

pronouns string?

The pronouns for the account, if any.

website Uri?

The website for the account, if any.

avatar Blob?

A small image to be displayed next to posts from account, if any.

banner Blob?

A larger horizontal image to display behind profile view, if any.

pinnedPost StrongReference?

A idunno.AtProto.Repo.StrongReference to the profile's pinned post, if any.

labels SelfLabels?

Any idunno.AtProto.Labels.SelfLabels applied to the profile.

Profile(string?, string?, string?, Uri?, Blob?, Blob?, StrongReference?, SelfLabels?, DateTimeOffset)

Creates a new instance of idunno.Bluesky.Actor.Profile.

public Profile(string? displayName, string? description, string? pronouns, Uri? website, Blob? avatar, Blob? banner, StrongReference? pinnedPost, SelfLabels? labels, DateTimeOffset createdAt)

Parameters

displayName string?

The display name of the account, if any.

description string?

The description for the account, if any.

pronouns string?

The pronouns for the account, if any.

website Uri?

The website for the account, if any.

avatar Blob?

A small image to be displayed next to posts from account, if any.

banner Blob?

A larger horizontal image to display behind profile view, if any.

pinnedPost StrongReference?

A idunno.AtProto.Repo.StrongReference to the profile's pinned post, if any.

labels SelfLabels?

Any idunno.AtProto.Labels.SelfLabels applied to the profile.

createdAt DateTimeOffset

The System.DateTimeOffset the record was created at.

Profile(string?, string?, string?, Uri?, Blob?, Blob?, StrongReference?, StrongReference?, SelfLabels?, DateTimeOffset?)

Creates a new instance of idunno.Bluesky.Actor.Profile.

[JsonConstructor]
public Profile(string? displayName, string? description, string? pronouns, Uri? website, Blob? avatar, Blob? banner, StrongReference? joinedViaStarterPack, StrongReference? pinnedPost, SelfLabels? labels, DateTimeOffset? createdAt)

Parameters

displayName string?

The display name of the account, if any.

description string?

The description for the account, if any.

pronouns string?

The pronouns for the account, if any.

website Uri?

The website for the account, if any.

avatar Blob?

A small image to be displayed next to posts from account, if any.

banner Blob?

A larger horizontal image to display behind profile view, if any.

joinedViaStarterPack StrongReference?

A idunno.AtProto.Repo.StrongReference to the starter pack the account joined through, if any.

pinnedPost StrongReference?

A idunno.AtProto.Repo.StrongReference to the profile's pinned post, if any.

labels SelfLabels?

Any idunno.AtProto.Labels.SelfLabels applied to the profile.

createdAt DateTimeOffset?

The System.DateTimeOffset the record was created at.

Profile(Profile)

protected Profile(Profile original)

Parameters

original Profile

Profile(string?, string?, string?, Uri?, Blob?, Blob?, StrongReference?, SelfLabels?)

Creates a new instance of idunno.Bluesky.Actor.Profile, with the creation date set to the current UTC time.

public Profile(string? displayName = null, string? description = null, string? pronouns = null, Uri? website = null, Blob? avatar = null, Blob? banner = null, StrongReference? pinnedPost = null, SelfLabels? labels = null)

Parameters

displayName string?

The display name of the account, if any.

description string?

The description for the account, if any.

pronouns string?

The pronouns for the account, if any.

website Uri?

The website for the account, if any.

avatar Blob?

A small image to be displayed next to posts from account, if any.

banner Blob?

A larger horizontal image to display behind profile view, if any.

pinnedPost StrongReference?

A idunno.AtProto.Repo.StrongReference to the profile's pinned post, if any.

labels SelfLabels?

Any idunno.AtProto.Labels.SelfLabels applied to the profile.

Profile(string?, string?, string?, Uri?, Blob?, Blob?, StrongReference?, SelfLabels?, DateTimeOffset)

Creates a new instance of idunno.Bluesky.Actor.Profile.

public Profile(string? displayName, string? description, string? pronouns, Uri? website, Blob? avatar, Blob? banner, StrongReference? pinnedPost, SelfLabels? labels, DateTimeOffset createdAt)

Parameters

displayName string?

The display name of the account, if any.

description string?

The description for the account, if any.

pronouns string?

The pronouns for the account, if any.

website Uri?

The website for the account, if any.

avatar Blob?

A small image to be displayed next to posts from account, if any.

banner Blob?

A larger horizontal image to display behind profile view, if any.

pinnedPost StrongReference?

A idunno.AtProto.Repo.StrongReference to the profile's pinned post, if any.

labels SelfLabels?

Any idunno.AtProto.Labels.SelfLabels applied to the profile.

createdAt DateTimeOffset

The System.DateTimeOffset the record was created at.

Profile(string?, string?, string?, Uri?, Blob?, Blob?, StrongReference?, StrongReference?, SelfLabels?, DateTimeOffset?)

Creates a new instance of idunno.Bluesky.Actor.Profile.

[JsonConstructor]
public Profile(string? displayName, string? description, string? pronouns, Uri? website, Blob? avatar, Blob? banner, StrongReference? joinedViaStarterPack, StrongReference? pinnedPost, SelfLabels? labels, DateTimeOffset? createdAt)

Parameters

displayName string?

The display name of the account, if any.

description string?

The description for the account, if any.

pronouns string?

The pronouns for the account, if any.

website Uri?

The website for the account, if any.

avatar Blob?

A small image to be displayed next to posts from account, if any.

banner Blob?

A larger horizontal image to display behind profile view, if any.

joinedViaStarterPack StrongReference?

A idunno.AtProto.Repo.StrongReference to the starter pack the account joined through, if any.

pinnedPost StrongReference?

A idunno.AtProto.Repo.StrongReference to the profile's pinned post, if any.

labels SelfLabels?

Any idunno.AtProto.Labels.SelfLabels applied to the profile.

createdAt DateTimeOffset?

The System.DateTimeOffset the record was created at.

Profile(Profile)

protected Profile(Profile original)

Parameters

original Profile

Properties

Avatar

Gets a small image to be displayed next to posts from account.

[JsonInclude]
public Blob? Avatar { get; set; }

Property Value

Blob?

Avatar

Gets a small image to be displayed next to posts from account.

[JsonInclude]
public Blob? Avatar { get; set; }

Property Value

Blob?

Avatar

Gets a small image to be displayed next to posts from account.

[JsonInclude]
public Blob? Avatar { get; set; }

Property Value

Blob?

Banner

Gets a larger horizontal image to display behind profile view

[JsonInclude]
public Blob? Banner { get; set; }

Property Value

Blob?

Banner

Gets a larger horizontal image to display behind profile view

[JsonInclude]
public Blob? Banner { get; set; }

Property Value

Blob?

Banner

Gets a larger horizontal image to display behind profile view

[JsonInclude]
public Blob? Banner { get; set; }

Property Value

Blob?

Bot

Gets or sets a flag indicating whether this profile self identifies as a bot.

[JsonIgnore]
public bool Bot { get; set; }

Property Value

bool

Bot

Gets or sets a flag indicating whether this profile self identifies as a bot.

[JsonIgnore]
public bool Bot { get; set; }

Property Value

bool

Bot

Gets or sets a flag indicating whether this profile self identifies as a bot.

[JsonIgnore]
public bool Bot { get; set; }

Property Value

bool

CreatedAt

Gets the creation date/time of the profile, if known.

public DateTimeOffset? CreatedAt { get; set; }

Property Value

DateTimeOffset?

CreatedAt

Gets the creation date/time of the profile, if known.

public DateTimeOffset? CreatedAt { get; set; }

Property Value

DateTimeOffset?

CreatedAt

Gets the creation date/time of the profile, if known.

public DateTimeOffset? CreatedAt { get; set; }

Property Value

DateTimeOffset?

Description

Gets the description for the account.

[JsonInclude]
public string? Description { get; set; }

Property Value

string?

Exceptions

ArgumentOutOfRangeException

Thrown when the description exceeds 2560 UTF-8 bytes or 256 graphemes.

Description

Gets the description for the account.

[JsonInclude]
public string? Description { get; set; }

Property Value

string?

Exceptions

ArgumentOutOfRangeException

Thrown when the description exceeds 2560 UTF-8 bytes or 256 graphemes.

Description

Gets the description for the account.

[JsonInclude]
public string? Description { get; set; }

Property Value

string?

Exceptions

ArgumentOutOfRangeException

Thrown when the description exceeds 2560 UTF-8 bytes or 256 graphemes.

DiscourageShowingToLoggedOutUsers

Gets or sets a flag indicating whether applications should be discouraged from showing this profile and this profile's posts to unauthenticated users.

[JsonIgnore]
public bool DiscourageShowingToLoggedOutUsers { get; set; }

Property Value

bool

DiscourageShowingToLoggedOutUsers

Gets or sets a flag indicating whether applications should be discouraged from showing this profile and this profile's posts to unauthenticated users.

[JsonIgnore]
public bool DiscourageShowingToLoggedOutUsers { get; set; }

Property Value

bool

DiscourageShowingToLoggedOutUsers

Gets or sets a flag indicating whether applications should be discouraged from showing this profile and this profile's posts to unauthenticated users.

[JsonIgnore]
public bool DiscourageShowingToLoggedOutUsers { get; set; }

Property Value

bool

DisplayName

Gets the display name of the account.

[JsonInclude]
public string? DisplayName { get; set; }

Property Value

string?

Exceptions

ArgumentOutOfRangeException

Thrown when the display name exceeds 640 UTF-8 bytes or 64 graphemes.

DisplayName

Gets the display name of the account.

[JsonInclude]
public string? DisplayName { get; set; }

Property Value

string?

Exceptions

ArgumentOutOfRangeException

Thrown when the display name exceeds 640 UTF-8 bytes or 64 graphemes.

DisplayName

Gets the display name of the account.

[JsonInclude]
public string? DisplayName { get; set; }

Property Value

string?

Exceptions

ArgumentOutOfRangeException

Thrown when the display name exceeds 640 UTF-8 bytes or 64 graphemes.

EqualityContract

protected override Type EqualityContract { get; }

Property Value

Type

EqualityContract

protected override Type EqualityContract { get; }

Property Value

Type

EqualityContract

protected override Type EqualityContract { get; }

Property Value

Type

JoinedViaStarterPack

If the user joined via a starter pack gets a idunno.AtProto.Repo.StrongReference to that starter pack.

[JsonInclude]
public StrongReference? JoinedViaStarterPack { get; init; }

Property Value

StrongReference?

JoinedViaStarterPack

If the user joined via a starter pack gets a idunno.AtProto.Repo.StrongReference to that starter pack.

[JsonInclude]
public StrongReference? JoinedViaStarterPack { get; init; }

Property Value

StrongReference?

JoinedViaStarterPack

If the user joined via a starter pack gets a idunno.AtProto.Repo.StrongReference to that starter pack.

[JsonInclude]
public StrongReference? JoinedViaStarterPack { get; init; }

Property Value

StrongReference?

Labels

Gets any idunno.AtProto.Labels.SelfLabels applied to the profile.

[JsonInclude]
public SelfLabels? Labels { get; init; }

Property Value

SelfLabels?

Remarks

Profile self labels can only be one or more of the known global values.

Labels

Gets any idunno.AtProto.Labels.SelfLabels applied to the profile.

[JsonInclude]
public SelfLabels? Labels { get; init; }

Property Value

SelfLabels?

Remarks

Profile self labels can only be one or more of the known global values.

Labels

Gets any idunno.AtProto.Labels.SelfLabels applied to the profile.

[JsonInclude]
public SelfLabels? Labels { get; init; }

Property Value

SelfLabels?

Remarks

Profile self labels can only be one or more of the known global values.

PinnedPost

Gets a idunno.AtProto.Repo.StrongReference to the account's pinned post, if any.

[JsonInclude]
public StrongReference? PinnedPost { get; set; }

Property Value

StrongReference?

PinnedPost

Gets a idunno.AtProto.Repo.StrongReference to the account's pinned post, if any.

[JsonInclude]
public StrongReference? PinnedPost { get; set; }

Property Value

StrongReference?

PinnedPost

Gets a idunno.AtProto.Repo.StrongReference to the account's pinned post, if any.

[JsonInclude]
public StrongReference? PinnedPost { get; set; }

Property Value

StrongReference?

Pronouns

Gets the pronouns for the account, if any.

[JsonInclude]
public string? Pronouns { get; set; }

Property Value

string?

Exceptions

ArgumentOutOfRangeException

Thrown when the pronouns exceed 200 UTF-8 bytes or 20 graphemes.

Pronouns

Gets the pronouns for the account, if any.

[JsonInclude]
public string? Pronouns { get; set; }

Property Value

string?

Exceptions

ArgumentOutOfRangeException

Thrown when the pronouns exceed 200 UTF-8 bytes or 20 graphemes.

Pronouns

Gets the pronouns for the account, if any.

[JsonInclude]
public string? Pronouns { get; set; }

Property Value

string?

Exceptions

ArgumentOutOfRangeException

Thrown when the pronouns exceed 200 UTF-8 bytes or 20 graphemes.

Website

Gets the website for the account, if any.

[JsonInclude]
public Uri? Website { get; set; }

Property Value

Uri?

Website

Gets the website for the account, if any.

[JsonInclude]
public Uri? Website { get; set; }

Property Value

Uri?

Website

Gets the website for the account, if any.

[JsonInclude]
public Uri? Website { get; set; }

Property Value

Uri?

Methods

<Clone>$()

public override Profile <Clone>$()

Returns

Profile

<Clone>$()

public override Profile <Clone>$()

Returns

Profile

<Clone>$()

public override Profile <Clone>$()

Returns

Profile

Equals(object?)

public override bool Equals(object? obj)

Parameters

obj object?

Returns

bool

Equals(BlueskyRecord?)

public override sealed bool Equals(BlueskyRecord? other)

Parameters

other BlueskyRecord?

Returns

bool

Equals(Profile?)

public virtual bool Equals(Profile? other)

Parameters

other Profile?

Returns

bool

Equals(object?)

public override bool Equals(object? obj)

Parameters

obj object?

Returns

bool

Equals(BlueskyRecord?)

public override sealed bool Equals(BlueskyRecord? other)

Parameters

other BlueskyRecord?

Returns

bool

Equals(Profile?)

public virtual bool Equals(Profile? other)

Parameters

other Profile?

Returns

bool

Equals(object?)

public override bool Equals(object? obj)

Parameters

obj object?

Returns

bool

Equals(BlueskyRecord?)

public override sealed bool Equals(BlueskyRecord? other)

Parameters

other BlueskyRecord?

Returns

bool

Equals(Profile?)

public virtual bool Equals(Profile? other)

Parameters

other Profile?

Returns

bool

GetHashCode()

Returns the hash code for the current instance.

public override int GetHashCode()

Returns

int

The hash code for the current instance.

Remarks

The hash code is derived from the keys of idunno.AtProto.Repo.AtProtoRecord.ExtensionData rather than from its identity.

GetHashCode()

Returns the hash code for the current instance.

public override int GetHashCode()

Returns

int

The hash code for the current instance.

Remarks

The hash code is derived from the keys of idunno.AtProto.Repo.AtProtoRecord.ExtensionData rather than from its identity.

GetHashCode()

Returns the hash code for the current instance.

public override int GetHashCode()

Returns

int

The hash code for the current instance.

Remarks

The hash code is derived from the keys of idunno.AtProto.Repo.AtProtoRecord.ExtensionData rather than from its identity.

PrintMembers(StringBuilder)

protected override bool PrintMembers(StringBuilder builder)

Parameters

builder StringBuilder

Returns

bool

PrintMembers(StringBuilder)

protected override bool PrintMembers(StringBuilder builder)

Parameters

builder StringBuilder

Returns

bool

PrintMembers(StringBuilder)

protected override bool PrintMembers(StringBuilder builder)

Parameters

builder StringBuilder

Returns

bool

ToString()

public override string ToString()

Returns

string

ToString()

public override string ToString()

Returns

string

ToString()

public override string ToString()

Returns

string

Operators

operator ==(Profile?, Profile?)

public static bool operator ==(Profile? left, Profile? right)

Parameters

left Profile?
right Profile?

Returns

bool

operator ==(Profile?, Profile?)

public static bool operator ==(Profile? left, Profile? right)

Parameters

left Profile?
right Profile?

Returns

bool

operator ==(Profile?, Profile?)

public static bool operator ==(Profile? left, Profile? right)

Parameters

left Profile?
right Profile?

Returns

bool

operator !=(Profile?, Profile?)

public static bool operator !=(Profile? left, Profile? right)

Parameters

left Profile?
right Profile?

Returns

bool

operator !=(Profile?, Profile?)

public static bool operator !=(Profile? left, Profile? right)

Parameters

left Profile?
right Profile?

Returns

bool

operator !=(Profile?, Profile?)

public static bool operator !=(Profile? left, Profile? right)

Parameters

left Profile?
right Profile?

Returns

bool