mirror of
https://github.com/Bubuni-Team/telegram-bot.git
synced 2026-07-31 00:29:24 +03:00
43 lines
1.5 KiB
C#
43 lines
1.5 KiB
C#
using BotFramework;
|
|
using Kruzya.TelegramBot.Core.Extensions;
|
|
using Microsoft.AspNetCore.Builder;
|
|
using Microsoft.AspNetCore.Hosting;
|
|
using Microsoft.Extensions.Configuration;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
using Microsoft.Extensions.Logging;
|
|
|
|
namespace Kruzya.TelegramBot.Core
|
|
{
|
|
public class Startup
|
|
{
|
|
private Core _core;
|
|
|
|
public Startup(IConfiguration configuration)
|
|
{
|
|
// TODO: add Core to DI.
|
|
_core = new Core(configuration);
|
|
}
|
|
|
|
// This method gets called by the runtime. Use this method to add services to the container.
|
|
// For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940
|
|
public void ConfigureServices(IServiceCollection services)
|
|
{
|
|
services.AddTelegramBot();
|
|
services.AddLogging(builder => builder.AddConsole());
|
|
|
|
// Add all modules to DI with Core instance.
|
|
services.AddSingleton<Core>(_core);
|
|
foreach (var module in _core.Modules) services.AddSingleton(module.GetType(), module);
|
|
|
|
// Trigger module handlers.
|
|
_core.Modules.ConfigureServices(services);
|
|
}
|
|
|
|
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
|
|
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
|
|
{
|
|
_core.Modules.Configure(app, env);
|
|
}
|
|
}
|
|
}
|