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
TimeoutSeconds
HTTP request timeout in seconds. Default 30.
public int TimeoutSeconds { get; set; }
Property Value
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
ChannelIdPath
JSONPath to resolve the channel id from the data context.
public string ChannelIdPath { get; set; }
Property Value
Content
Literal message content.
public string Content { get; set; }
Property Value
ContentPath
JSONPath to resolve the message content from the data context.
public string ContentPath { get; set; }
Property Value
EmbedTitle
Literal embed title.
public string EmbedTitle { get; set; }
Property Value
EmbedTitlePath
JSONPath to resolve the embed title from the data context.
public string EmbedTitlePath { get; set; }
Property Value
EmbedDescription
Literal embed description.
public string EmbedDescription { get; set; }
Property Value
EmbedDescriptionPath
JSONPath to resolve the embed description from the data context.
public string EmbedDescriptionPath { get; set; }
Property Value
EmbedColor
Literal embed color as a 24-bit RGB integer.
public Nullable<int> EmbedColor { get; set; }
Property Value
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
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
AttachmentFileSystemItemRtIdPath
JSONPath to resolve the FileSystemItem RtId from the data context.
public string AttachmentFileSystemItemRtIdPath { get; set; }
Property Value
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
AttachmentFilenamePath
JSONPath to resolve the attachment filename override from the data context.
public string AttachmentFilenamePath { get; set; }
Property Value
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
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
TargetPath
public string TargetPath { get; set; }
Property Value
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
Constructors
ToDiscordNodeConfiguration()
Caution
Constructors of types with required members are not supported in this version of your compiler.
public ToDiscordNodeConfiguration()