Добавлены новые методы отправки сообщений

This commit is contained in:
2026-02-06 04:38:06 +03:00
parent 69ff3cf7d4
commit cd280369bc
25 changed files with 1525 additions and 219 deletions

View File

@@ -1,25 +1,6 @@
namespace BotPages.Core.Context;
using BotPages.Core.Abstractions;
using BotPages.Core.Abstractions;
/// <summary>
/// Тип входящего обновления.
/// </summary>
[Flags]
public enum UpdateKind
{
/// <summary>Неизвестное сообщение.</summary>
None = 0,
/// <summary>Текстовое сообщение.</summary>
Text = 1 << 0,
/// <summary>Файлы (один или несколько).</summary>
File = 1 << 1,
/// <summary>Нажатие кнопки.</summary>
Button = 1 << 2,
}
namespace BotPages.Core.Context;
/// <summary>
/// Контекст входящего обновления от мессенджера.
@@ -27,8 +8,11 @@ public enum UpdateKind
/// </summary>
public sealed class UpdateContext
{
/// <summary>Тип мессенджера.</summary>
public required string MessengerType { get; init; }
/// <summary>Идентификатор адаптера, от которого пришло обновление.</summary>
public required string AdapterId { get; init; }
/// <summary>Тип адаптера (определяется адаптером).</summary>
public required string AdapterType { get; init; }
/// <summary>
/// Данные пользователя, от которого пришло обновление.
@@ -51,9 +35,34 @@ public sealed class UpdateContext
/// </summary>
public string? Text { get; init; }
/// <summary>
/// ID сообщения, к которому относится обновление.
/// </summary>
public string? MessageId { get; init; }
/// <summary>
/// ID сообщения, на которое дан ответ (если есть).
/// </summary>
public string? ReplyToMessageId { get; init; }
/// <summary>
/// Список файлов, если Kind = File.
/// Может содержать один или несколько файлов.
/// </summary>
public List<FileDescriptor> Files { get; init; } = new();
/// <summary>
/// Информация о редактировании (если Kind = Edit).
/// </summary>
public EditInfo? EditInfo { get; init; }
/// <summary>
/// Информация об удалении (если Kind = Delete).
/// </summary>
public DeleteInfo? DeleteInfo { get; init; }
/// <summary>
/// Информация о закреплении (если Kind = Pin).
/// </summary>
public PinInfo? PinInfo { get; init; }
}