TgBots/Program.cs
Dmitrii Prokudin 99df15fb31
All checks were successful
Local Deploy with Docker / build-and-deploy (push) Successful in 4s
Добавил фичи
2024-12-26 03:32:41 +03:00

43 lines
1.5 KiB
C#

using System;
using System.Data;
using System.Threading;
using System.Threading.Tasks;
using Telegram.Bot;
using Telegram.Bot.Types;
using Telegram.Bot.Types.Enums;
using Dapper;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Npgsql;
using UserOfTheDayBot.Data;
using UserOfTheDayBot.Services;
public class Program
{
public static async Task Main(string[] args)
{
var host = Host.CreateDefaultBuilder(args)
.ConfigureAppConfiguration((context, config) =>
{
config.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);
config.AddEnvironmentVariables(); // Добавление переменных среды
})
.ConfigureServices((context, services) =>
{
services.AddSingleton<IUserRepository, UserRepository>();
services.AddSingleton<IUserOfTheDayRepository, UserOfTheDayRepository>();
services.AddSingleton<BotService>();
// TelegramBotClient зависит от IConfiguration для получения токена
services.AddSingleton<ITelegramBotClient>(provider =>
{
var configuration = provider.GetRequiredService<IConfiguration>();
var botToken = configuration["BotSettings:BotToken"];
return new TelegramBotClient(botToken);
});
})
.Build();
}
}