Class DiscordRichTools
Rich Discord interaction tools — polls, embeds, threads. Agent-callable Semantic Kernel functions for Discord-specific features.
[ToolPlugin("discord", RequiresInjection = true)]
public sealed class DiscordRichTools
- Inheritance
-
DiscordRichTools
- Inherited Members
Constructors
DiscordRichTools(IChannelRegistry)
public DiscordRichTools(IChannelRegistry channelRegistry)
Parameters
channelRegistryIChannelRegistry
Properties
ActiveConversationId
Active conversation context — set before each turn.
public string? ActiveConversationId { get; set; }
Property Value
Methods
CreatePollAsync(string, string, int, bool, CancellationToken)
[KernelFunction("create_poll")]
[ToolSafetyTier(SafetyTier.ConfirmOnce)]
public Task<string> CreatePollAsync(string question, string options, int durationHours = 24, bool multiSelect = false, CancellationToken ct = default)
Parameters
questionstringoptionsstringdurationHoursintmultiSelectboolctCancellationToken
Returns
CreateThreadAsync(string, string, int, CancellationToken)
[KernelFunction("create_thread")]
[ToolSafetyTier(SafetyTier.ConfirmOnce)]
public Task<string> CreateThreadAsync(string name, string message, int archiveAfterMinutes = 1440, CancellationToken ct = default)
Parameters
namestringmessagestringarchiveAfterMinutesintctCancellationToken
Returns
SendEmbedAsync(string, string, string, string?, string?, CancellationToken)
[KernelFunction("send_embed")]
[ToolSafetyTier(SafetyTier.AutoApprove)]
public Task<string> SendEmbedAsync(string title, string description, string color = "#3b82f6", string? fields = null, string? footer = null, CancellationToken ct = default)
Parameters
Returns
SendFileAsync(string, string?, CancellationToken)
[KernelFunction("send_file")]
[ToolSafetyTier(SafetyTier.AutoApprove)]
public Task<string> SendFileAsync(string filePath, string? message = null, CancellationToken ct = default)
Parameters
filePathstringmessagestringctCancellationToken