20ba8f99b1
Define channel abstractions (IChannel, IChannelManager) with event-driven message and connection handling. Implement ChannelManager for multi-channel orchestration, CliChannel for terminal I/O, TelegramChannel with adapter pattern for bot API integration, and WebChannel stub. Includes DI registration and channel type enumeration.
26 lines
651 B
C#
26 lines
651 B
C#
using Luna.Shared;
|
|
|
|
namespace Luna.Channels.Abstractions;
|
|
|
|
/// <summary>
|
|
/// Event arguments for when a message is received from a channel
|
|
/// </summary>
|
|
public class ChannelMessageReceivedEventArgs : EventArgs
|
|
{
|
|
/// <summary>
|
|
/// The received message
|
|
/// </summary>
|
|
public required ChannelMessage Message { get; init; }
|
|
|
|
/// <summary>
|
|
/// The channel that received the message
|
|
/// </summary>
|
|
public required IChannel Channel { get; init; }
|
|
|
|
/// <summary>
|
|
/// Set to true to indicate the message has been handled and should not be processed further
|
|
/// </summary>
|
|
public bool IsHandled { get; set; }
|
|
|
|
}
|