34 lines
1.0 KiB
C#
34 lines
1.0 KiB
C#
using BotPages.Core;
|
|
using BotPages.Core.Logging;
|
|
using BotPages.Core.Middleware;
|
|
using BotPages.Core.Storage;
|
|
using BotPages.Telegram;
|
|
using Demo.Pages;
|
|
|
|
namespace Demo
|
|
{
|
|
internal class Program
|
|
{
|
|
public static async Task Main(string[] args)
|
|
{
|
|
var token = Environment.GetEnvironmentVariable("TELEGRAM_TOKEN")
|
|
?? throw new InvalidOperationException("TELEGRAM_TOKEN not set");
|
|
|
|
var logger = new ConsoleLogger();
|
|
var state = new InMemoryStateStorage();
|
|
using var cts = new CancellationTokenSource();
|
|
|
|
var app = new BotPagesApp(state, logger)
|
|
.AddDefaultPage<WelcomePage>()
|
|
.MapCommand<WelcomePage>("/start")
|
|
.AddMiddleware(new ErrorHandlingMiddleware(logger))
|
|
.AddMiddleware(new LoggingMiddleware(logger))
|
|
.AddTelegramAdapter(token)
|
|
.Build(cts.Token);
|
|
|
|
Console.ReadKey();
|
|
cts.Cancel();
|
|
}
|
|
}
|
|
}
|