Files
VolcanicAgenticCore/hosts/Volcanic.AgenticCore.Telegram/A2A/TelegramOwnerNotifier.cs

17 lines
809 B
C#

using System.Globalization;
using Volcanic.AgenticCore.A2A.Server.Callers;
using Volcanic.AgenticCore.Telegram.Chats;
namespace Volcanic.AgenticCore.Telegram.A2A;
/// <summary><c>notify_owner</c> → "🤖 A2A · caller: text" in the owner's chat, through its chat channel (in order with output).</summary>
internal sealed class TelegramOwnerNotifier(Func<ChatRegistry> chats) : IA2AOwnerNotifier
{
public async Task NotifyAsync(A2ACaller caller, string text, CancellationToken cancellationToken)
{
var chatId = long.Parse(caller.OwnerId, CultureInfo.InvariantCulture);
var chat = await chats().GetAsync(chatId, cancellationToken).ConfigureAwait(false);
await chat.Channel.SendTextAsync($"🤖 A2A · {caller.Name}: {text}", cancellationToken).ConfigureAwait(false);
}
}