Skip to main content

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()