mirror of
https://github.com/Caraxi/mare.server.git
synced 2025-12-12 18:07:22 +01:00
switch around all iconfiguration usage to ioptions
This commit is contained in:
parent
b8d61b38bd
commit
7ee7fdaf48
21 changed files with 218 additions and 99 deletions
|
|
@ -10,10 +10,10 @@ using Discord.WebSocket;
|
|||
using MareSynchronosServices.Identity;
|
||||
using MareSynchronosShared.Data;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Hosting;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Microsoft.Extensions.Options;
|
||||
|
||||
namespace MareSynchronosServices.Discord;
|
||||
|
||||
|
|
@ -22,23 +22,20 @@ internal class DiscordBot : IHostedService
|
|||
private readonly DiscordBotServices _botServices;
|
||||
private readonly IdentityHandler _identityHandler;
|
||||
private readonly IServiceProvider _services;
|
||||
private readonly IConfiguration _configuration;
|
||||
private readonly ServicesConfiguration _configuration;
|
||||
private readonly ILogger<DiscordBot> _logger;
|
||||
private string _discordAuthToken = string.Empty;
|
||||
private readonly DiscordSocketClient _discordClient;
|
||||
private CancellationTokenSource? _updateStatusCts;
|
||||
private CancellationTokenSource? _vanityUpdateCts;
|
||||
|
||||
public DiscordBot(DiscordBotServices botServices, IdentityHandler identityHandler, IServiceProvider services, IConfiguration configuration, ILogger<DiscordBot> logger)
|
||||
public DiscordBot(DiscordBotServices botServices, IdentityHandler identityHandler, IServiceProvider services, IOptions<ServicesConfiguration> configuration, ILogger<DiscordBot> logger)
|
||||
{
|
||||
_botServices = botServices;
|
||||
_identityHandler = identityHandler;
|
||||
_services = services;
|
||||
_configuration = configuration.GetRequiredSection("MareSynchronos");
|
||||
_configuration = configuration.Value;
|
||||
_logger = logger;
|
||||
|
||||
_discordAuthToken = _configuration.GetValue<string>("DiscordBotToken");
|
||||
|
||||
_discordClient = new(new DiscordSocketConfig()
|
||||
{
|
||||
DefaultRetryMode = RetryMode.AlwaysRetry
|
||||
|
|
@ -188,11 +185,9 @@ internal class DiscordBot : IHostedService
|
|||
|
||||
public async Task StartAsync(CancellationToken cancellationToken)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(_discordAuthToken))
|
||||
if (!string.IsNullOrEmpty(_configuration.DiscordBotToken))
|
||||
{
|
||||
_discordAuthToken = _configuration.GetValue<string>("DiscordBotToken");
|
||||
|
||||
await _discordClient.LoginAsync(TokenType.Bot, _discordAuthToken).ConfigureAwait(false);
|
||||
await _discordClient.LoginAsync(TokenType.Bot, _configuration.DiscordBotToken).ConfigureAwait(false);
|
||||
await _discordClient.StartAsync().ConfigureAwait(false);
|
||||
|
||||
_discordClient.Ready += DiscordClient_Ready;
|
||||
|
|
@ -204,7 +199,7 @@ internal class DiscordBot : IHostedService
|
|||
|
||||
public async Task StopAsync(CancellationToken cancellationToken)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(_discordAuthToken))
|
||||
if (!string.IsNullOrEmpty(_configuration.DiscordBotToken))
|
||||
{
|
||||
await _botServices.Stop();
|
||||
_updateStatusCts?.Cancel();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue