using Luna.Channels.Abstractions; using Luna.Channels.Telegram; using Luna.Configuration; using Microsoft.Extensions.DependencyInjection; using Telegram.Bot; namespace Luna.Channels.Extensions; public static class ServiceCollectionExtensions { private const string TelegramBotToken = "REDACTED-TELEGRAM-BOT-TOKEN"; extension(IServiceCollection services) { public IServiceCollection AddChannels() { services.AddSingleton(); // Telegram var telegramOptions = new TelegramOptions { BotToken = TelegramBotToken }; services.AddSingleton(telegramOptions); services.AddSingleton(_ => new TelegramBotClient(TelegramBotToken)); services.AddHostedService(); return services; } } }