17 lines
809 B
C#
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);
|
|
}
|
|
}
|