mirror of
https://github.com/Jetsparrow/jetherald.git
synced 2026-01-20 23:56:08 +03:00
Replace crutchy method of instantiating the bot with a proper one
This commit is contained in:
parent
db78d4a3c7
commit
c8f505ba03
@ -3,10 +3,11 @@ using System.Threading.Tasks;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Microsoft.Extensions.Options;
|
||||
using System.Threading;
|
||||
using Microsoft.Extensions.Hosting;
|
||||
|
||||
namespace JetHerald
|
||||
{
|
||||
public partial class JetHeraldBot
|
||||
public partial class JetHeraldBot : IHostedService
|
||||
{
|
||||
Db Db { get; set; }
|
||||
Options.Telegram TelegramConfig { get; }
|
||||
@ -29,13 +30,13 @@ namespace JetHerald
|
||||
CancellationTokenSource HeartbeatCancellation;
|
||||
Task HeartbeatTask;
|
||||
|
||||
public async Task Init()
|
||||
public async Task StartAsync(CancellationToken token)
|
||||
{
|
||||
await InitTelegram();
|
||||
await InitDiscord();
|
||||
}
|
||||
|
||||
public async Task Stop()
|
||||
public async Task StopAsync(CancellationToken token)
|
||||
{
|
||||
await DiscordBot.DisconnectAsync();
|
||||
TelegramBot.StopReceiving();
|
||||
@ -103,5 +104,6 @@ namespace JetHerald
|
||||
}
|
||||
catch (Exception e) { Log.LogError(e, $"Error while sending message \"{formatted}\" to {chat}"); }
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -25,6 +25,7 @@ namespace JetHerald
|
||||
services.Configure<Options.Timeout>(Configuration.GetSection("Timeout"));
|
||||
services.AddSingleton<Db>();
|
||||
services.AddSingleton<JetHeraldBot>();
|
||||
services.AddHostedService(s => s.GetService<JetHeraldBot>());
|
||||
services.AddSingleton<LeakyBucket>();
|
||||
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_3_0);
|
||||
|
||||
@ -33,8 +34,6 @@ namespace JetHerald
|
||||
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
|
||||
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
|
||||
{
|
||||
var bot = app.ApplicationServices.GetService<JetHeraldBot>();
|
||||
bot.Init().GetAwaiter().GetResult();
|
||||
app.UsePathBase(Configuration.GetValue<string>("PathBase"));
|
||||
if (env.IsDevelopment())
|
||||
{
|
||||
|
||||
Loading…
Reference in New Issue
Block a user