mirror of
https://github.com/TeamOctolings/Octobot.git
synced 2025-04-19 16:33:36 +03:00
Merge branch 'master' into left-guild-message
This commit is contained in:
commit
3759816273
17 changed files with 35 additions and 55 deletions
|
@ -400,7 +400,7 @@
|
||||||
<value>Octobot's source code</value>
|
<value>Octobot's source code</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AboutBot" xml:space="preserve">
|
<data name="AboutBot" xml:space="preserve">
|
||||||
<value>About Octobot</value>
|
<value>About {0}</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AboutDeveloper@mctaylors" xml:space="preserve">
|
<data name="AboutDeveloper@mctaylors" xml:space="preserve">
|
||||||
<value>developer & designer, Octobot's Wiki creator</value>
|
<value>developer & designer, Octobot's Wiki creator</value>
|
||||||
|
|
|
@ -400,7 +400,7 @@
|
||||||
<value>Исходный код Octobot</value>
|
<value>Исходный код Octobot</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AboutBot" xml:space="preserve">
|
<data name="AboutBot" xml:space="preserve">
|
||||||
<value>Об Octobot</value>
|
<value>О боте {0}</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AboutDeveloper@neroduckale" xml:space="preserve">
|
<data name="AboutDeveloper@neroduckale" xml:space="preserve">
|
||||||
<value>разработчик</value>
|
<value>разработчик</value>
|
||||||
|
|
|
@ -400,7 +400,7 @@
|
||||||
<value>репа Octobot (тык)</value>
|
<value>репа Octobot (тык)</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AboutBot" xml:space="preserve">
|
<data name="AboutBot" xml:space="preserve">
|
||||||
<value>немного об Octobot</value>
|
<value>немного об {0}</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="AboutDeveloper@mctaylors" xml:space="preserve">
|
<data name="AboutDeveloper@mctaylors" xml:space="preserve">
|
||||||
<value>скучный девелопер + дизайнер создавший Octobot's Wiki</value>
|
<value>скучный девелопер + дизайнер создавший Octobot's Wiki</value>
|
||||||
|
|
|
@ -28,11 +28,11 @@ namespace Octobot.Commands;
|
||||||
public class AboutCommandGroup : CommandGroup
|
public class AboutCommandGroup : CommandGroup
|
||||||
{
|
{
|
||||||
private static readonly (string Username, Snowflake Id)[] Developers =
|
private static readonly (string Username, Snowflake Id)[] Developers =
|
||||||
{
|
[
|
||||||
("Octol1ttle", new Snowflake(504343489664909322)),
|
("Octol1ttle", new Snowflake(504343489664909322)),
|
||||||
("mctaylors", new Snowflake(326642240229474304)),
|
("mctaylors", new Snowflake(326642240229474304)),
|
||||||
("neroduckale", new Snowflake(474943797063843851))
|
("neroduckale", new Snowflake(474943797063843851))
|
||||||
};
|
];
|
||||||
|
|
||||||
private readonly ICommandContext _context;
|
private readonly ICommandContext _context;
|
||||||
private readonly IFeedbackService _feedback;
|
private readonly IFeedbackService _feedback;
|
||||||
|
@ -96,7 +96,8 @@ public class AboutCommandGroup : CommandGroup
|
||||||
builder.AppendBulletPointLine($"{tag} — {$"AboutDeveloper@{dev.Username}".Localized()}");
|
builder.AppendBulletPointLine($"{tag} — {$"AboutDeveloper@{dev.Username}".Localized()}");
|
||||||
}
|
}
|
||||||
|
|
||||||
var embed = new EmbedBuilder().WithSmallTitle(Messages.AboutBot, bot)
|
var embed = new EmbedBuilder()
|
||||||
|
.WithSmallTitle(string.Format(Messages.AboutBot, bot.Username), bot)
|
||||||
.WithDescription(builder.ToString())
|
.WithDescription(builder.ToString())
|
||||||
.WithColour(ColorsList.Cyan)
|
.WithColour(ColorsList.Cyan)
|
||||||
.WithImageUrl("https://cdn.mctaylors.ru/octobot-banner.png")
|
.WithImageUrl("https://cdn.mctaylors.ru/octobot-banner.png")
|
||||||
|
|
|
@ -33,12 +33,12 @@ public class BanCommandGroup : CommandGroup
|
||||||
private readonly IDiscordRestGuildAPI _guildApi;
|
private readonly IDiscordRestGuildAPI _guildApi;
|
||||||
private readonly GuildDataService _guildData;
|
private readonly GuildDataService _guildData;
|
||||||
private readonly IDiscordRestUserAPI _userApi;
|
private readonly IDiscordRestUserAPI _userApi;
|
||||||
private readonly UtilityService _utility;
|
private readonly Utility _utility;
|
||||||
|
|
||||||
public BanCommandGroup(
|
public BanCommandGroup(
|
||||||
ICommandContext context, IDiscordRestChannelAPI channelApi, GuildDataService guildData,
|
ICommandContext context, IDiscordRestChannelAPI channelApi, GuildDataService guildData,
|
||||||
IFeedbackService feedback, IDiscordRestGuildAPI guildApi, IDiscordRestUserAPI userApi,
|
IFeedbackService feedback, IDiscordRestGuildAPI guildApi, IDiscordRestUserAPI userApi,
|
||||||
UtilityService utility)
|
Utility utility)
|
||||||
{
|
{
|
||||||
_context = context;
|
_context = context;
|
||||||
_channelApi = channelApi;
|
_channelApi = channelApi;
|
||||||
|
|
|
@ -30,11 +30,11 @@ public class ClearCommandGroup : CommandGroup
|
||||||
private readonly IFeedbackService _feedback;
|
private readonly IFeedbackService _feedback;
|
||||||
private readonly GuildDataService _guildData;
|
private readonly GuildDataService _guildData;
|
||||||
private readonly IDiscordRestUserAPI _userApi;
|
private readonly IDiscordRestUserAPI _userApi;
|
||||||
private readonly UtilityService _utility;
|
private readonly Utility _utility;
|
||||||
|
|
||||||
public ClearCommandGroup(
|
public ClearCommandGroup(
|
||||||
IDiscordRestChannelAPI channelApi, ICommandContext context, GuildDataService guildData,
|
IDiscordRestChannelAPI channelApi, ICommandContext context, GuildDataService guildData,
|
||||||
IFeedbackService feedback, IDiscordRestUserAPI userApi, UtilityService utility)
|
IFeedbackService feedback, IDiscordRestUserAPI userApi, Utility utility)
|
||||||
{
|
{
|
||||||
_channelApi = channelApi;
|
_channelApi = channelApi;
|
||||||
_context = context;
|
_context = context;
|
||||||
|
|
|
@ -30,12 +30,12 @@ public class KickCommandGroup : CommandGroup
|
||||||
private readonly IDiscordRestGuildAPI _guildApi;
|
private readonly IDiscordRestGuildAPI _guildApi;
|
||||||
private readonly GuildDataService _guildData;
|
private readonly GuildDataService _guildData;
|
||||||
private readonly IDiscordRestUserAPI _userApi;
|
private readonly IDiscordRestUserAPI _userApi;
|
||||||
private readonly UtilityService _utility;
|
private readonly Utility _utility;
|
||||||
|
|
||||||
public KickCommandGroup(
|
public KickCommandGroup(
|
||||||
ICommandContext context, IDiscordRestChannelAPI channelApi, GuildDataService guildData,
|
ICommandContext context, IDiscordRestChannelAPI channelApi, GuildDataService guildData,
|
||||||
IFeedbackService feedback, IDiscordRestGuildAPI guildApi, IDiscordRestUserAPI userApi,
|
IFeedbackService feedback, IDiscordRestGuildAPI guildApi, IDiscordRestUserAPI userApi,
|
||||||
UtilityService utility)
|
Utility utility)
|
||||||
{
|
{
|
||||||
_context = context;
|
_context = context;
|
||||||
_channelApi = channelApi;
|
_channelApi = channelApi;
|
||||||
|
|
|
@ -32,11 +32,11 @@ public class MuteCommandGroup : CommandGroup
|
||||||
private readonly IDiscordRestGuildAPI _guildApi;
|
private readonly IDiscordRestGuildAPI _guildApi;
|
||||||
private readonly GuildDataService _guildData;
|
private readonly GuildDataService _guildData;
|
||||||
private readonly IDiscordRestUserAPI _userApi;
|
private readonly IDiscordRestUserAPI _userApi;
|
||||||
private readonly UtilityService _utility;
|
private readonly Utility _utility;
|
||||||
|
|
||||||
public MuteCommandGroup(
|
public MuteCommandGroup(
|
||||||
ICommandContext context, GuildDataService guildData, IFeedbackService feedback,
|
ICommandContext context, GuildDataService guildData, IFeedbackService feedback,
|
||||||
IDiscordRestGuildAPI guildApi, IDiscordRestUserAPI userApi, UtilityService utility)
|
IDiscordRestGuildAPI guildApi, IDiscordRestUserAPI userApi, Utility utility)
|
||||||
{
|
{
|
||||||
_context = context;
|
_context = context;
|
||||||
_guildData = guildData;
|
_guildData = guildData;
|
||||||
|
|
|
@ -36,7 +36,7 @@ public class SettingsCommandGroup : CommandGroup
|
||||||
/// that the orders match.
|
/// that the orders match.
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
private static readonly IOption[] AllOptions =
|
private static readonly IOption[] AllOptions =
|
||||||
{
|
[
|
||||||
GuildSettings.Language,
|
GuildSettings.Language,
|
||||||
GuildSettings.WelcomeMessage,
|
GuildSettings.WelcomeMessage,
|
||||||
GuildSettings.LeaveMessage,
|
GuildSettings.LeaveMessage,
|
||||||
|
@ -52,17 +52,17 @@ public class SettingsCommandGroup : CommandGroup
|
||||||
GuildSettings.MuteRole,
|
GuildSettings.MuteRole,
|
||||||
GuildSettings.EventNotificationRole,
|
GuildSettings.EventNotificationRole,
|
||||||
GuildSettings.EventEarlyNotificationOffset
|
GuildSettings.EventEarlyNotificationOffset
|
||||||
};
|
];
|
||||||
|
|
||||||
private readonly ICommandContext _context;
|
private readonly ICommandContext _context;
|
||||||
private readonly IFeedbackService _feedback;
|
private readonly IFeedbackService _feedback;
|
||||||
private readonly GuildDataService _guildData;
|
private readonly GuildDataService _guildData;
|
||||||
private readonly IDiscordRestUserAPI _userApi;
|
private readonly IDiscordRestUserAPI _userApi;
|
||||||
private readonly UtilityService _utility;
|
private readonly Utility _utility;
|
||||||
|
|
||||||
public SettingsCommandGroup(
|
public SettingsCommandGroup(
|
||||||
ICommandContext context, GuildDataService guildData,
|
ICommandContext context, GuildDataService guildData,
|
||||||
IFeedbackService feedback, IDiscordRestUserAPI userApi, UtilityService utility)
|
IFeedbackService feedback, IDiscordRestUserAPI userApi, Utility utility)
|
||||||
{
|
{
|
||||||
_context = context;
|
_context = context;
|
||||||
_guildData = guildData;
|
_guildData = guildData;
|
||||||
|
|
|
@ -393,7 +393,7 @@ public class ToolsCommandGroup : CommandGroup
|
||||||
}
|
}
|
||||||
|
|
||||||
private static readonly TimestampStyle[] AllStyles =
|
private static readonly TimestampStyle[] AllStyles =
|
||||||
{
|
[
|
||||||
TimestampStyle.ShortDate,
|
TimestampStyle.ShortDate,
|
||||||
TimestampStyle.LongDate,
|
TimestampStyle.LongDate,
|
||||||
TimestampStyle.ShortTime,
|
TimestampStyle.ShortTime,
|
||||||
|
@ -401,7 +401,7 @@ public class ToolsCommandGroup : CommandGroup
|
||||||
TimestampStyle.ShortDateTime,
|
TimestampStyle.ShortDateTime,
|
||||||
TimestampStyle.LongDateTime,
|
TimestampStyle.LongDateTime,
|
||||||
TimestampStyle.RelativeTime
|
TimestampStyle.RelativeTime
|
||||||
};
|
];
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A slash command that shows the current timestamp with an optional offset in all styles supported by Discord.
|
/// A slash command that shows the current timestamp with an optional offset in all styles supported by Discord.
|
||||||
|
|
|
@ -87,7 +87,7 @@ public sealed class Octobot
|
||||||
.AddPostExecutionEvent<ErrorLoggingPostExecutionEvent>()
|
.AddPostExecutionEvent<ErrorLoggingPostExecutionEvent>()
|
||||||
// Services
|
// Services
|
||||||
.AddSingleton<GuildDataService>()
|
.AddSingleton<GuildDataService>()
|
||||||
.AddSingleton<UtilityService>()
|
.AddSingleton<Utility>()
|
||||||
.AddHostedService<MemberUpdateService>()
|
.AddHostedService<MemberUpdateService>()
|
||||||
.AddHostedService<ScheduledEventUpdateService>()
|
.AddHostedService<ScheduledEventUpdateService>()
|
||||||
.AddHostedService<SongUpdateService>()
|
.AddHostedService<SongUpdateService>()
|
||||||
|
|
|
@ -25,11 +25,11 @@ public class GuildLoadedResponder : IResponder<IGuildCreate>
|
||||||
private readonly GuildDataService _guildData;
|
private readonly GuildDataService _guildData;
|
||||||
private readonly ILogger<GuildLoadedResponder> _logger;
|
private readonly ILogger<GuildLoadedResponder> _logger;
|
||||||
private readonly IDiscordRestUserAPI _userApi;
|
private readonly IDiscordRestUserAPI _userApi;
|
||||||
private readonly UtilityService _utility;
|
private readonly Utility _utility;
|
||||||
|
|
||||||
public GuildLoadedResponder(
|
public GuildLoadedResponder(
|
||||||
IDiscordRestChannelAPI channelApi, GuildDataService guildData, ILogger<GuildLoadedResponder> logger,
|
IDiscordRestChannelAPI channelApi, GuildDataService guildData, ILogger<GuildLoadedResponder> logger,
|
||||||
IDiscordRestUserAPI userApi, UtilityService utility)
|
IDiscordRestUserAPI userApi, Utility utility)
|
||||||
{
|
{
|
||||||
_channelApi = channelApi;
|
_channelApi = channelApi;
|
||||||
_guildData = guildData;
|
_guildData = guildData;
|
||||||
|
|
|
@ -11,7 +11,7 @@ namespace Octobot.Services;
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Handles saving, loading, initializing and providing <see cref="GuildData" />.
|
/// Handles saving, loading, initializing and providing <see cref="GuildData" />.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public sealed class GuildDataService : IHostedService
|
public sealed class GuildDataService
|
||||||
{
|
{
|
||||||
private readonly ConcurrentDictionary<Snowflake, GuildData> _datas = new();
|
private readonly ConcurrentDictionary<Snowflake, GuildData> _datas = new();
|
||||||
private readonly ILogger<GuildDataService> _logger;
|
private readonly ILogger<GuildDataService> _logger;
|
||||||
|
@ -24,16 +24,6 @@ public sealed class GuildDataService : IHostedService
|
||||||
lifetime.ApplicationStopping.Register(ApplicationStopping);
|
lifetime.ApplicationStopping.Register(ApplicationStopping);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Task StartAsync(CancellationToken ct)
|
|
||||||
{
|
|
||||||
return Task.CompletedTask;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Task StopAsync(CancellationToken ct)
|
|
||||||
{
|
|
||||||
return Task.CompletedTask;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void ApplicationStopping()
|
private void ApplicationStopping()
|
||||||
{
|
{
|
||||||
SaveAsync(CancellationToken.None).GetAwaiter().GetResult();
|
SaveAsync(CancellationToken.None).GetAwaiter().GetResult();
|
||||||
|
|
|
@ -16,7 +16,7 @@ namespace Octobot.Services.Update;
|
||||||
public sealed partial class MemberUpdateService : BackgroundService
|
public sealed partial class MemberUpdateService : BackgroundService
|
||||||
{
|
{
|
||||||
private static readonly string[] GenericNicknames =
|
private static readonly string[] GenericNicknames =
|
||||||
{
|
[
|
||||||
"Albatross", "Alpha", "Anchor", "Banjo", "Bell", "Beta", "Blackbird", "Bulldog", "Canary",
|
"Albatross", "Alpha", "Anchor", "Banjo", "Bell", "Beta", "Blackbird", "Bulldog", "Canary",
|
||||||
"Cat", "Calf", "Cyclone", "Daisy", "Dalmatian", "Dart", "Delta", "Diamond", "Donkey", "Duck",
|
"Cat", "Calf", "Cyclone", "Daisy", "Dalmatian", "Dart", "Delta", "Diamond", "Donkey", "Duck",
|
||||||
"Emu", "Eclipse", "Flamingo", "Flute", "Frog", "Goose", "Hatchet", "Heron", "Husky", "Hurricane",
|
"Emu", "Eclipse", "Flamingo", "Flute", "Frog", "Goose", "Hatchet", "Heron", "Husky", "Hurricane",
|
||||||
|
@ -24,16 +24,16 @@ public sealed partial class MemberUpdateService : BackgroundService
|
||||||
"Nautilus", "Ostrich", "Octopus", "Pelican", "Puffin", "Pyramid", "Rattle", "Robin", "Rose",
|
"Nautilus", "Ostrich", "Octopus", "Pelican", "Puffin", "Pyramid", "Rattle", "Robin", "Rose",
|
||||||
"Salmon", "Seal", "Shark", "Sheep", "Snake", "Sonar", "Stump", "Sparrow", "Toaster", "Toucan",
|
"Salmon", "Seal", "Shark", "Sheep", "Snake", "Sonar", "Stump", "Sparrow", "Toaster", "Toucan",
|
||||||
"Torus", "Violet", "Vortex", "Vulture", "Wagon", "Whale", "Woodpecker", "Zebra", "Zigzag"
|
"Torus", "Violet", "Vortex", "Vulture", "Wagon", "Whale", "Woodpecker", "Zebra", "Zigzag"
|
||||||
};
|
];
|
||||||
|
|
||||||
private readonly IDiscordRestChannelAPI _channelApi;
|
private readonly IDiscordRestChannelAPI _channelApi;
|
||||||
private readonly IDiscordRestGuildAPI _guildApi;
|
private readonly IDiscordRestGuildAPI _guildApi;
|
||||||
private readonly GuildDataService _guildData;
|
private readonly GuildDataService _guildData;
|
||||||
private readonly ILogger<MemberUpdateService> _logger;
|
private readonly ILogger<MemberUpdateService> _logger;
|
||||||
private readonly UtilityService _utility;
|
private readonly Utility _utility;
|
||||||
|
|
||||||
public MemberUpdateService(IDiscordRestChannelAPI channelApi, IDiscordRestGuildAPI guildApi,
|
public MemberUpdateService(IDiscordRestChannelAPI channelApi, IDiscordRestGuildAPI guildApi,
|
||||||
GuildDataService guildData, ILogger<MemberUpdateService> logger, UtilityService utility)
|
GuildDataService guildData, ILogger<MemberUpdateService> logger, Utility utility)
|
||||||
{
|
{
|
||||||
_channelApi = channelApi;
|
_channelApi = channelApi;
|
||||||
_guildApi = guildApi;
|
_guildApi = guildApi;
|
||||||
|
|
|
@ -19,10 +19,10 @@ public sealed class ScheduledEventUpdateService : BackgroundService
|
||||||
private readonly IDiscordRestGuildScheduledEventAPI _eventApi;
|
private readonly IDiscordRestGuildScheduledEventAPI _eventApi;
|
||||||
private readonly GuildDataService _guildData;
|
private readonly GuildDataService _guildData;
|
||||||
private readonly ILogger<ScheduledEventUpdateService> _logger;
|
private readonly ILogger<ScheduledEventUpdateService> _logger;
|
||||||
private readonly UtilityService _utility;
|
private readonly Utility _utility;
|
||||||
|
|
||||||
public ScheduledEventUpdateService(IDiscordRestChannelAPI channelApi, IDiscordRestGuildScheduledEventAPI eventApi,
|
public ScheduledEventUpdateService(IDiscordRestChannelAPI channelApi, IDiscordRestGuildScheduledEventAPI eventApi,
|
||||||
GuildDataService guildData, ILogger<ScheduledEventUpdateService> logger, UtilityService utility)
|
GuildDataService guildData, ILogger<ScheduledEventUpdateService> logger, Utility utility)
|
||||||
{
|
{
|
||||||
_channelApi = channelApi;
|
_channelApi = channelApi;
|
||||||
_eventApi = eventApi;
|
_eventApi = eventApi;
|
||||||
|
|
|
@ -9,7 +9,7 @@ namespace Octobot.Services.Update;
|
||||||
public sealed class SongUpdateService : BackgroundService
|
public sealed class SongUpdateService : BackgroundService
|
||||||
{
|
{
|
||||||
private static readonly (string Author, string Name, TimeSpan Duration)[] SongList =
|
private static readonly (string Author, string Name, TimeSpan Duration)[] SongList =
|
||||||
{
|
[
|
||||||
("Yoko & the Gold Bazookas", "Rockagilly Blues", new TimeSpan(0, 2, 52)),
|
("Yoko & the Gold Bazookas", "Rockagilly Blues", new TimeSpan(0, 2, 52)),
|
||||||
("Deep Cut", "Big Betrayal", new TimeSpan(0, 5, 55)),
|
("Deep Cut", "Big Betrayal", new TimeSpan(0, 5, 55)),
|
||||||
("Squid Sisters", "Tomorrow's Nostalgia Today", new TimeSpan(0, 3, 7)),
|
("Squid Sisters", "Tomorrow's Nostalgia Today", new TimeSpan(0, 3, 7)),
|
||||||
|
@ -30,7 +30,7 @@ public sealed class SongUpdateService : BackgroundService
|
||||||
("Turquoise October", "Octoling Rendezvous", new TimeSpan(0, 1, 57)),
|
("Turquoise October", "Octoling Rendezvous", new TimeSpan(0, 1, 57)),
|
||||||
("Damp Socks feat. Off the Hook", "Tentacle to the Metal", new TimeSpan(0, 2, 51)),
|
("Damp Socks feat. Off the Hook", "Tentacle to the Metal", new TimeSpan(0, 2, 51)),
|
||||||
("Off the Hook", "Fly Octo Fly ~ Ebb & Flow (Octo)", new TimeSpan(0, 3, 5))
|
("Off the Hook", "Fly Octo Fly ~ Ebb & Flow (Octo)", new TimeSpan(0, 3, 5))
|
||||||
};
|
];
|
||||||
|
|
||||||
private readonly List<Activity> _activityList = [new Activity("with Remora.Discord", ActivityType.Game)];
|
private readonly List<Activity> _activityList = [new Activity("with Remora.Discord", ActivityType.Game)];
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Text.Json.Nodes;
|
using System.Text.Json.Nodes;
|
||||||
using Microsoft.Extensions.Hosting;
|
|
||||||
using Octobot.Data;
|
using Octobot.Data;
|
||||||
using Octobot.Extensions;
|
using Octobot.Extensions;
|
||||||
using Remora.Discord.API.Abstractions.Objects;
|
using Remora.Discord.API.Abstractions.Objects;
|
||||||
|
@ -17,14 +16,14 @@ namespace Octobot.Services;
|
||||||
/// Provides utility methods that cannot be transformed to extension methods because they require usage
|
/// Provides utility methods that cannot be transformed to extension methods because they require usage
|
||||||
/// of some Discord APIs.
|
/// of some Discord APIs.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public sealed class UtilityService : IHostedService
|
public sealed class Utility
|
||||||
{
|
{
|
||||||
private readonly IDiscordRestChannelAPI _channelApi;
|
private readonly IDiscordRestChannelAPI _channelApi;
|
||||||
private readonly IDiscordRestGuildScheduledEventAPI _eventApi;
|
private readonly IDiscordRestGuildScheduledEventAPI _eventApi;
|
||||||
private readonly IDiscordRestGuildAPI _guildApi;
|
private readonly IDiscordRestGuildAPI _guildApi;
|
||||||
private readonly IDiscordRestUserAPI _userApi;
|
private readonly IDiscordRestUserAPI _userApi;
|
||||||
|
|
||||||
public UtilityService(
|
public Utility(
|
||||||
IDiscordRestChannelAPI channelApi, IDiscordRestGuildScheduledEventAPI eventApi, IDiscordRestGuildAPI guildApi,
|
IDiscordRestChannelAPI channelApi, IDiscordRestGuildScheduledEventAPI eventApi, IDiscordRestGuildAPI guildApi,
|
||||||
IDiscordRestUserAPI userApi)
|
IDiscordRestUserAPI userApi)
|
||||||
{
|
{
|
||||||
|
@ -34,16 +33,6 @@ public sealed class UtilityService : IHostedService
|
||||||
_userApi = userApi;
|
_userApi = userApi;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Task StartAsync(CancellationToken ct)
|
|
||||||
{
|
|
||||||
return Task.CompletedTask;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Task StopAsync(CancellationToken ct)
|
|
||||||
{
|
|
||||||
return Task.CompletedTask;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Checks whether or not a member can interact with another member
|
/// Checks whether or not a member can interact with another member
|
||||||
/// </summary>
|
/// </summary>
|
Loading…
Add table
Reference in a new issue