Files
BotPages/Demo/Pages/FileSendPage.cs
FrigaT edc718b1f9
All checks were successful
CI / build-test (push) Successful in 31s
Release / pack-and-publish (release) Successful in 35s
Доработан обработчик команд. Добавлена публикация команд
2025-12-07 10:09:59 +03:00

32 lines
1.1 KiB
C#

using BotPages.Core;
using BotPages.Core.Abstractions;
using BotPages.Core.Messaging;
using BotPages.Core.Routing;
namespace Demo.Pages;
[Route("FileSend")]
public sealed class FileSendPage : SingletonPage
{
public override Task OnEnter(PageContext ctx, CancellationToken ct)
{
var content = "Hello from BotPages! This file is generated on the fly.";
var stream = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(content));
var demoFile = new FileDescriptor
{
Id = "", // не используется при отправке нового файла
Name = "demo.txt",
Extension = "txt",
Size = stream.Length,
Kind = FileKind.Document,
GetStreamAsync = _ => Task.FromResult<Stream>(stream)
};
return new MessageBuilder(ctx)
.Text("Вот пример отправки нового файла 📎", MessageFormat.Markdown)
.File(demoFile, "Демонстрационный файл")
.SendAsync(ct);
}
}