Parent RFC: #254
Scope
从 TelegramPlatformAdapter(shim 级)迁移到 TelegramChannelAdapter(full adapter 实现)。
Deliverables
Package: agents/channels/Aevatar.GAgents.Channel.Telegram
底层 SDK: Telegram.Bot(11k+ stars,最成熟 .NET Telegram library)
Main class: TelegramChannelAdapter : IChannelTransport, IChannelOutboundPort
- 迁移自
TelegramPlatformAdapter
- Transport 双模式:Webhook 优先 / long-polling fallback(开发模式)
- Group / supergroup / channel 的区分(
ConversationReference.TelegramGroup / .TelegramChannel / .TelegramPrivate)
Composer: TelegramMessageComposer : IMessageComposer
- intent → text + inline keyboard
- Attachments: upload via
sendPhoto / sendDocument multipart
Capability declaration:
SupportsEphemeral = false / SupportsThread = false / SupportsModal = false / SupportsConfirmDialog = false
SupportsStreaming = EditLoopRateLimited(editMessageText 20/min per chat 硬限)
SupportsActionButtons = true(inline keyboard)
Streaming support:
BeginStreamingReplyAsync 实现用 editMessageText + rate-limited debounce(RecommendedStreamDebounceMs = 3000)
Acceptance
References
Dependencies
Parent RFC: #254
Scope
从
TelegramPlatformAdapter(shim 级)迁移到TelegramChannelAdapter(full adapter 实现)。Deliverables
Package:
agents/channels/Aevatar.GAgents.Channel.Telegram底层 SDK: Telegram.Bot(11k+ stars,最成熟 .NET Telegram library)
Main class:
TelegramChannelAdapter : IChannelTransport, IChannelOutboundPortTelegramPlatformAdapterConversationReference.TelegramGroup/.TelegramChannel/.TelegramPrivate)Composer:
TelegramMessageComposer : IMessageComposersendPhoto/sendDocumentmultipartCapability declaration:
SupportsEphemeral = false/SupportsThread = false/SupportsModal = false/SupportsConfirmDialog = falseSupportsStreaming = EditLoopRateLimited(editMessageText20/min per chat 硬限)SupportsActionButtons = true(inline keyboard)Streaming support:
BeginStreamingReplyAsync实现用editMessageText+ rate-limited debounce(RecommendedStreamDebounceMs = 3000)Acceptance
TelegramChannelAdapter过 Conformance Suite([Channel RFC] Conformance + Fault Injection test suite (Aevatar.GAgents.Channel.Testing) #264)References
Dependencies