8bcd16fbc9
PR Checks / test-and-build (pull_request) Successful in 12m35s
Introduce platform-neutral PlatformKind, PlatformUser, PlatformGroup, and IPlatformMessenger contracts in GmRelay.Shared. Route Telegram session schedule updates, direct notifications, interaction replies, and calendar export through TelegramPlatformMessenger while preserving existing Telegram behavior. Bump version -> 2.0.1
37 lines
908 B
C#
37 lines
908 B
C#
using GmRelay.Shared.Rendering;
|
|
|
|
namespace GmRelay.Shared.Platform;
|
|
|
|
public sealed record PlatformMessageRef(
|
|
PlatformKind Platform,
|
|
string ExternalGroupId,
|
|
string? ExternalThreadId,
|
|
string ExternalMessageId);
|
|
|
|
public sealed record PlatformMessageAction(
|
|
string Key,
|
|
string Label,
|
|
string Payload);
|
|
|
|
public sealed record PlatformScheduleMessage(
|
|
PlatformGroup Group,
|
|
SessionBatchViewModel View,
|
|
PlatformMessageRef? ExistingMessage,
|
|
string? ImageReference = null);
|
|
|
|
public sealed record PlatformPrivateMessage(
|
|
PlatformUser Recipient,
|
|
string HtmlText);
|
|
|
|
public sealed record PlatformInteractionReply(
|
|
string InteractionId,
|
|
string Text,
|
|
bool ShowAlert = false);
|
|
|
|
public sealed record PlatformCalendarFile(
|
|
PlatformGroup Group,
|
|
string FileName,
|
|
byte[] Content,
|
|
string CaptionHtml,
|
|
IReadOnlyList<PlatformMessageAction> Actions);
|