Zum Hauptinhalt springen

ToDiscordNodeConfiguration

Namespace: Meshmakers.Octo.MeshAdapter.Nodes.Load

Configuration for the ToDiscord pipeline node.

public record ToDiscordNodeConfiguration : TargetPathNodeConfiguration, INodeConfiguration, IEquatable<NodeConfiguration>, ITargetPathNodeConfiguration, IEquatable<TargetPathNodeConfiguration>, IEquatable<ToDiscordNodeConfiguration>

Inheritance Object → NodeConfiguration → TargetPathNodeConfiguration → ToDiscordNodeConfiguration
Implements INodeConfiguration, IEquatable<NodeConfiguration>, ITargetPathNodeConfiguration, IEquatable<TargetPathNodeConfiguration>, IEquatable<ToDiscordNodeConfiguration>

Remarks:

Resolves a DiscordConfiguration CK entity by name via global configuration (see ToDiscordNodeConfiguration.ServerConfiguration). Message fields follow the {Field} + {Field}Path convention: when the *Path variant is non-empty the value is read from the data context; otherwise the literal is used.

Properties​

ServerConfiguration​

Name of the global configuration entry that holds the DiscordConfiguration (bot token + optional guild id).

public string ServerConfiguration { get; set; }

Property Value​

String

TimeoutSeconds​

HTTP request timeout in seconds. Default 30.

public int TimeoutSeconds { get; set; }

Property Value​

Int32

ChannelId​

Literal channel id (Discord snowflake) to post to. Threads are channels in Discord's data model, so pass a thread snowflake here to post into a thread — the same endpoint is used. (?thread_id= is webhook-only and silently ignored on bot-token calls, which is why a dedicated thread field is not offered.)

public string ChannelId { get; set; }

Property Value​

String

ChannelIdPath​

JSONPath to resolve the channel id from the data context.

public string ChannelIdPath { get; set; }

Property Value​

String

Content​

Literal message content.

public string Content { get; set; }

Property Value​

String

ContentPath​

JSONPath to resolve the message content from the data context.

public string ContentPath { get; set; }

Property Value​

String

EmbedTitle​

Literal embed title.

public string EmbedTitle { get; set; }

Property Value​

String

EmbedTitlePath​

JSONPath to resolve the embed title from the data context.

public string EmbedTitlePath { get; set; }

Property Value​

String

EmbedDescription​

Literal embed description.

public string EmbedDescription { get; set; }

Property Value​

String

EmbedDescriptionPath​

JSONPath to resolve the embed description from the data context.

public string EmbedDescriptionPath { get; set; }

Property Value​

String

EmbedColor​

Literal embed color as a 24-bit RGB integer.

public Nullable<int> EmbedColor { get; set; }

Property Value​

Nullable<Int32>

EmbedColorPath​

JSONPath to resolve the embed color from the data context. Accepts 0xRRGGBB, #RRGGBB, or decimal integer strings.

public string EmbedColorPath { get; set; }

Property Value​

String

AttachmentFileSystemItemRtId​

RtId of a System.Reporting/FileSystemItem whose bound binary is posted as the message's single attachment. The node resolves the binary via Content.BinaryId. The filename sent to Discord is picked by precedence:

ToDiscordNodeConfiguration.AttachmentFilename / ToDiscordNodeConfiguration.AttachmentFilenamePath when set.

The FileSystemItem's Name attribute — the intentional, renameable display label.

The FileSystemItem's Content.Filename — the ingest-time blob metadata (fallback).

Requires the System.Reporting CK package to be loaded on the tenant.

public string AttachmentFileSystemItemRtId { get; set; }

Property Value​

String

AttachmentFileSystemItemRtIdPath​

JSONPath to resolve the FileSystemItem RtId from the data context.

public string AttachmentFileSystemItemRtIdPath { get; set; }

Property Value​

String

AttachmentFilename​

Optional override for the multipart filename sent to Discord. When set, takes precedence over both the FileSystemItem's Name and Content.Filename. Useful when the caller knows the user-facing name from domain metadata (e.g. an invoice number) that isn't reflected on the FileSystemItem itself.

public string AttachmentFilename { get; set; }

Property Value​

String

AttachmentFilenamePath​

JSONPath to resolve the attachment filename override from the data context.

public string AttachmentFilenamePath { get; set; }

Property Value​

String

MentionPolicy​

Controls which mentions in the message are allowed to ping recipients. Default is MentionPolicy.None — safest for pipelines that echo upstream data, which often contains unintentional or injected @everyone. Set to MentionPolicy.Custom to provide a raw Discord allowed_mentions object via ToDiscordNodeConfiguration.AllowedMentionsPath.

public MentionPolicy MentionPolicy { get; set; }

Property Value​

MentionPolicy

AllowedMentionsPath​

JSONPath resolving to a raw Discord allowed_mentions object. Only consulted when ToDiscordNodeConfiguration.MentionPolicy is MentionPolicy.Custom; ignored otherwise.

public string AllowedMentionsPath { get; set; }

Property Value​

String

TargetPath​

public string TargetPath { get; set; }

Property Value​

String

TargetValueWriteMode​

public TargetValueWriteModes TargetValueWriteMode { get; set; }

Property Value​

TargetValueWriteModes

TargetValueKind​

public ValueKinds TargetValueKind { get; set; }

Property Value​

ValueKinds

DocumentMode​

public DocumentModes DocumentMode { get; set; }

Property Value​

DocumentModes

Description​

public string Description { get; set; }

Property Value​

String

Constructors​

ToDiscordNodeConfiguration()​

Caution​

Constructors of types with required members are not supported in this version of your compiler.


public ToDiscordNodeConfiguration()