34 lines
No EOL
967 B
C#
34 lines
No EOL
967 B
C#
using Discord;
|
|
using Discord.WebSocket;
|
|
using Flux_System_Assistant.Utility;
|
|
using Microsoft.Extensions.Configuration;
|
|
using Microsoft.Extensions.Hosting;
|
|
using Microsoft.Extensions.Logging;
|
|
using ILogger = Serilog.ILogger;
|
|
|
|
namespace Flux_System_Assistant.Services;
|
|
|
|
public class DiscordStartupService : IHostedService
|
|
{
|
|
private readonly DiscordSocketClient _discord;
|
|
private readonly IConfiguration _config;
|
|
|
|
public DiscordStartupService(DiscordSocketClient discord, IConfiguration config, ILogger logger)
|
|
{
|
|
_discord = discord;
|
|
_config = config;
|
|
|
|
_discord.Log += msg => LoggerService.OnLogAsync(logger, msg);
|
|
}
|
|
|
|
public async Task StartAsync(CancellationToken cancellationToken)
|
|
{
|
|
await _discord.LoginAsync(TokenType.Bot, _config["token"]);
|
|
await _discord.StartAsync();
|
|
}
|
|
|
|
public async Task StopAsync(CancellationToken cancellationToken)
|
|
{
|
|
await _discord.StopAsync();
|
|
}
|
|
} |