This commit is contained in:
HueByte
2026-07-17 19:09:56 +00:00
parent dfbe5be317
commit a6bf50c567
73 changed files with 17893 additions and 427 deletions
@@ -233,6 +233,42 @@ Class IrcBroadcaster <a class="header-action link-secondary" title="View source
<a id="EchoHub_Server_Irc_IrcBroadcaster_SendChannelDeletedAsync_" data-uid="EchoHub.Server.Irc.IrcBroadcaster.SendChannelDeletedAsync*"></a>
<h3 id="EchoHub_Server_Irc_IrcBroadcaster_SendChannelDeletedAsync_System_String_" data-uid="EchoHub.Server.Irc.IrcBroadcaster.SendChannelDeletedAsync(System.String)">
SendChannelDeletedAsync(string)
<a class="header-action link-secondary" title="View source" href="https://github.com/HueByte/EchoHub/blob/master/src/EchoHub.Server.Irc/IrcBroadcaster.cs"><i class="bi bi-code-slash"></i></a>
</h3>
<div class="markdown level1 summary"></div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Task SendChannelDeletedAsync(string channelName)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>channelName</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><span class="xref">Task</span></dt>
<dd></dd>
</dl>
<a id="EchoHub_Server_Irc_IrcBroadcaster_SendChannelNukedAsync_" data-uid="EchoHub.Server.Irc.IrcBroadcaster.SendChannelNukedAsync*"></a>
<h3 id="EchoHub_Server_Irc_IrcBroadcaster_SendChannelNukedAsync_System_String_" data-uid="EchoHub.Server.Irc.IrcBroadcaster.SendChannelNukedAsync(System.String)">
@@ -385,16 +421,21 @@ Class IrcBroadcaster <a class="header-action link-secondary" title="View source
<a id="EchoHub_Server_Irc_IrcBroadcaster_SendMessageToChannelAsync_" data-uid="EchoHub.Server.Irc.IrcBroadcaster.SendMessageToChannelAsync*"></a>
<h3 id="EchoHub_Server_Irc_IrcBroadcaster_SendMessageToChannelAsync_System_String_EchoHub_Core_DTOs_MessageDto_" data-uid="EchoHub.Server.Irc.IrcBroadcaster.SendMessageToChannelAsync(System.String,EchoHub.Core.DTOs.MessageDto)">
SendMessageToChannelAsync(string, MessageDto)
<h3 id="EchoHub_Server_Irc_IrcBroadcaster_SendMessageToChannelAsync_System_String_EchoHub_Core_DTOs_MessageDto_System_String_" data-uid="EchoHub.Server.Irc.IrcBroadcaster.SendMessageToChannelAsync(System.String,EchoHub.Core.DTOs.MessageDto,System.String)">
SendMessageToChannelAsync(string, MessageDto, string?)
<a class="header-action link-secondary" title="View source" href="https://github.com/HueByte/EchoHub/blob/master/src/EchoHub.Server.Irc/IrcBroadcaster.cs"><i class="bi bi-code-slash"></i></a>
</h3>
<div class="markdown level1 summary"></div>
<div class="markdown level1 summary"><p>Broadcast a chat message to a channel. <code class="paramref">excludeConnectionId</code> is the
connection the message originated from (IRC convention: never echo a message back to
the connection that sent it — its client already displayed it locally). Other
connections of the same user (e.g. an IRC session alongside a TUI session) still
receive the message.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public Task SendMessageToChannelAsync(string channelName, MessageDto message)</code></pre>
<pre><code class="lang-csharp hljs">public Task SendMessageToChannelAsync(string channelName, MessageDto message, string? excludeConnectionId = null)</code></pre>
</div>
<h4 class="section">Parameters</h4>
@@ -403,6 +444,8 @@ Class IrcBroadcaster <a class="header-action link-secondary" title="View source
<dd></dd>
<dt><code>message</code> <a class="xref" href="../core/EchoHub.Core.DTOs.MessageDto.html">MessageDto</a></dt>
<dd></dd>
<dt><code>excludeConnectionId</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<h4 class="section">Returns</h4>
@@ -152,63 +152,30 @@ Class IrcMessageFormatter <a class="header-action link-secondary" title="View s
</h2>
<a id="EchoHub_Server_Irc_IrcMessageFormatter_ColorTagsToAnsi_" data-uid="EchoHub.Server.Irc.IrcMessageFormatter.ColorTagsToAnsi*"></a>
<h3 id="EchoHub_Server_Irc_IrcMessageFormatter_ColorTagsToAnsi_System_String_" data-uid="EchoHub.Server.Irc.IrcMessageFormatter.ColorTagsToAnsi(System.String)">
ColorTagsToAnsi(string)
<a class="header-action link-secondary" title="View source" href="https://github.com/HueByte/EchoHub/blob/master/src/EchoHub.Server.Irc/IrcMessageFormatter.cs"><i class="bi bi-code-slash"></i></a>
</h3>
<div class="markdown level1 summary"><p>Convert printable color tags ({F:RRGGBB}, {B:RRGGBB}, {X}) to ANSI escape codes for IRC clients.
Also passes through content that already uses ANSI codes unchanged.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static string ColorTagsToAnsi(string text)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>text</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<a id="EchoHub_Server_Irc_IrcMessageFormatter_FormatMessage_" data-uid="EchoHub.Server.Irc.IrcMessageFormatter.FormatMessage*"></a>
<h3 id="EchoHub_Server_Irc_IrcMessageFormatter_FormatMessage_EchoHub_Core_DTOs_MessageDto_" data-uid="EchoHub.Server.Irc.IrcMessageFormatter.FormatMessage(EchoHub.Core.DTOs.MessageDto)">
FormatMessage(MessageDto)
<h3 id="EchoHub_Server_Irc_IrcMessageFormatter_FormatMessage_EchoHub_Core_DTOs_MessageDto_System_String_" data-uid="EchoHub.Server.Irc.IrcMessageFormatter.FormatMessage(EchoHub.Core.DTOs.MessageDto,System.String)">
FormatMessage(MessageDto, string?)
<a class="header-action link-secondary" title="View source" href="https://github.com/HueByte/EchoHub/blob/master/src/EchoHub.Server.Irc/IrcMessageFormatter.cs"><i class="bi bi-code-slash"></i></a>
</h3>
<div class="markdown level1 summary"><p>Format a MessageDto as one or more IRC PRIVMSG lines.</p>
<div class="markdown level1 summary"><p>Format a MessageDto as one or more IRC PRIVMSG lines.
Attachments are rendered as single link lines \u2014 the widely-supported IRC convention
(clients auto-preview or open plain http(s) URLs) \u2014 never as terminal color art.
<code class="paramref">publicBaseUrl</code> makes the links absolute so any IRC client can open them.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static List&lt;string&gt; FormatMessage(MessageDto message)</code></pre>
<pre><code class="lang-csharp hljs">public static List&lt;string&gt; FormatMessage(MessageDto message, string? publicBaseUrl = null)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>message</code> <a class="xref" href="../core/EchoHub.Core.DTOs.MessageDto.html">MessageDto</a></dt>
<dd></dd>
<dt><code>publicBaseUrl</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<h4 class="section">Returns</h4>
@@ -266,6 +233,46 @@ Also passes through content that already uses ANSI codes unchanged.</p>
<a id="EchoHub_Server_Irc_IrcMessageFormatter_ToAbsoluteUrl_" data-uid="EchoHub.Server.Irc.IrcMessageFormatter.ToAbsoluteUrl*"></a>
<h3 id="EchoHub_Server_Irc_IrcMessageFormatter_ToAbsoluteUrl_System_String_System_String_" data-uid="EchoHub.Server.Irc.IrcMessageFormatter.ToAbsoluteUrl(System.String,System.String)">
ToAbsoluteUrl(string, string?)
<a class="header-action link-secondary" title="View source" href="https://github.com/HueByte/EchoHub/blob/master/src/EchoHub.Server.Irc/IrcMessageFormatter.cs"><i class="bi bi-code-slash"></i></a>
</h3>
<div class="markdown level1 summary"><p>Joins a relative attachment path onto the configured public base URL.
Already-absolute URLs and unset base URLs pass through unchanged.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public static string ToAbsoluteUrl(string url, string? publicBaseUrl)</code></pre>
</div>
<h4 class="section">Parameters</h4>
<dl class="parameters">
<dt><code>url</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
<dt><code>publicBaseUrl</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<h4 class="section">Returns</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
</article>
@@ -306,6 +306,40 @@ Class IrcOptions <a class="header-action link-secondary" title="View source" hr
<a id="EchoHub_Server_Irc_IrcOptions_PublicBaseUrl_" data-uid="EchoHub.Server.Irc.IrcOptions.PublicBaseUrl*"></a>
<h3 id="EchoHub_Server_Irc_IrcOptions_PublicBaseUrl" data-uid="EchoHub.Server.Irc.IrcOptions.PublicBaseUrl">
PublicBaseUrl
<a class="header-action link-secondary" title="View source" href="https://github.com/HueByte/EchoHub/blob/master/src/EchoHub.Server.Irc/IrcOptions.cs"><i class="bi bi-code-slash"></i></a>
</h3>
<div class="markdown level1 summary"><p>Public HTTP(S) base of this EchoHub server (e.g. &quot;https://chat.example.com&quot;),
used to turn relative attachment URLs into absolute links IRC clients can open.
When unset, attachment lines fall back to the relative path.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public string? PublicBaseUrl { get; set; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<a id="EchoHub_Server_Irc_IrcOptions_ServerName_" data-uid="EchoHub.Server.Irc.IrcOptions.ServerName*"></a>
<h3 id="EchoHub_Server_Irc_IrcOptions_ServerName" data-uid="EchoHub.Server.Irc.IrcOptions.ServerName">