mirror of
https://github.com/TeamOctolings/Octobot.git
synced 2025-04-20 00:43:36 +03:00
28 lines
935 B
C#
28 lines
935 B
C#
using Remora.Discord.API.Abstractions.Objects;
|
|
using Remora.Rest.Core;
|
|
using Remora.Results;
|
|
|
|
namespace TeamOctolings.Octobot.Extensions;
|
|
|
|
public static class GuildScheduledEventExtensions
|
|
{
|
|
public static Result TryGetExternalEventData(this IGuildScheduledEvent scheduledEvent, out DateTimeOffset endTime,
|
|
out string? location)
|
|
{
|
|
endTime = default;
|
|
location = default;
|
|
if (!scheduledEvent.EntityMetadata.AsOptional().IsDefined(out var metadata))
|
|
{
|
|
return new ArgumentNullError(nameof(scheduledEvent.EntityMetadata));
|
|
}
|
|
|
|
if (!metadata.Location.IsDefined(out location))
|
|
{
|
|
return new ArgumentNullError(nameof(metadata.Location));
|
|
}
|
|
|
|
return scheduledEvent.ScheduledEndTime.AsOptional().IsDefined(out endTime)
|
|
? Result.Success
|
|
: new ArgumentNullError(nameof(scheduledEvent.ScheduledEndTime));
|
|
}
|
|
}
|