mirror of
https://github.com/TeamOctolings/Octobot.git
synced 2025-01-31 09:09:00 +03:00
Octol1ttle
d03e2504fc
Apparently the `[UsedImplicitly]` annotation suppresses the "Class has no inheritors and can be marked sealed" warning. Cool to know. Signed-off-by: Octol1ttle <l1ttleofficial@outlook.com>
39 lines
1.3 KiB
C#
39 lines
1.3 KiB
C#
using JetBrains.Annotations;
|
||
using Remora.Discord.API.Abstractions.Gateway.Events;
|
||
using Remora.Discord.API.Abstractions.Rest;
|
||
using Remora.Discord.Gateway.Responders;
|
||
using Remora.Rest.Core;
|
||
using Remora.Results;
|
||
|
||
namespace TeamOctolings.Octobot.Responders;
|
||
|
||
/// <summary>
|
||
/// Handles sending replies to easter egg messages.
|
||
/// </summary>
|
||
[UsedImplicitly]
|
||
public sealed class MessageCreateResponder : IResponder<IMessageCreate>
|
||
{
|
||
private readonly IDiscordRestChannelAPI _channelApi;
|
||
|
||
public MessageCreateResponder(IDiscordRestChannelAPI channelApi)
|
||
{
|
||
_channelApi = channelApi;
|
||
}
|
||
|
||
public Task<Result> RespondAsync(IMessageCreate gatewayEvent, CancellationToken ct = default)
|
||
{
|
||
_ = _channelApi.CreateMessageAsync(
|
||
gatewayEvent.ChannelID, ct: ct, content: gatewayEvent.Content.ToLowerInvariant() switch
|
||
{
|
||
"whoami" => "`nobody`",
|
||
"сука !!" => "`root`",
|
||
"воооо" => "`removing /...`",
|
||
"пон" => "https://i.ibb.co/Kw6QVcw/parry.jpg",
|
||
"++++" => "#",
|
||
"осу" => "https://github.com/ppy/osu",
|
||
"лан" => "https://i.ibb.co/VYH2QLc/lan.jpg",
|
||
_ => default(Optional<string>)
|
||
});
|
||
return Task.FromResult(Result.Success);
|
||
}
|
||
}
|