1
0
Fork 1
mirror of https://github.com/TeamOctolings/Octobot.git synced 2025-01-31 09:09:00 +03:00

EventEarlyNotification timestamp bugfix and other changes (#84)

This PR fixes EventEarlyNotification timestamp not displaying correctly
and also has some other changes:
- Add xmldocs for `/settingslist`'s `page` option in
SettingsCommandGroup.cs
- Add option description for `index` for `/delreminder`
- Some corrections of grammatical errors in Messages.tt-ru.resx
- Fix `ArgumentOutOfRangeException` in `/settingslist` that appears if
the user uses a negative integer in `page`

---------

Signed-off-by: Macintosh II <95250141+mctaylors@users.noreply.github.com>
Co-authored-by: Octol1ttle <l1ttleofficial@outlook.com>
This commit is contained in:
Macintxsh 2023-08-12 23:19:07 +03:00 committed by GitHub
parent d0d663d2bb
commit 87dbb07dec
Signed by: GitHub
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 15 additions and 20 deletions

View file

@ -253,11 +253,11 @@
<value>оъмъомоъемъъео((((</value> <value>оъмъомоъемъъео((((</value>
</data> </data>
<data name="EventCancelled" xml:space="preserve"> <data name="EventCancelled" xml:space="preserve">
<value>движуха "{0}" отменен!</value> <value>движуха "{0}" отменена!</value>
</data> </data>
<data name="EventCompleted" xml:space="preserve"> <data name="EventCompleted" xml:space="preserve">
<value>движуха "{0}" завершен!</value> <value>движуха "{0}" завершена!</value>
</data> </data>
<data name="Ever" xml:space="preserve"> <data name="Ever" xml:space="preserve">
<value>всегда</value> <value>всегда</value>
</data> </data>

View file

@ -153,7 +153,9 @@ public class RemindCommandGroup : CommandGroup
[RequireContext(ChannelContext.Guild)] [RequireContext(ChannelContext.Guild)]
[UsedImplicitly] [UsedImplicitly]
public async Task<Result> ExecuteDeleteReminderAsync( public async Task<Result> ExecuteDeleteReminderAsync(
[MinValue(0)] int index) [Description("Index of reminder to delete")]
[MinValue(0)]
int index)
{ {
if (!_context.TryGetContextIDs(out var guildId, out _, out var userId)) if (!_context.TryGetContextIDs(out var guildId, out _, out var userId))
{ {

View file

@ -62,8 +62,9 @@ public class SettingsCommandGroup : CommandGroup
} }
/// <summary> /// <summary>
/// A slash command that lists current per-guild GuildSettings. /// A slash command that sends a page from the list of current GuildSettings.
/// </summary> /// </summary>
/// <param name="page">The number of the page to send.</param>
/// <returns> /// <returns>
/// A feedback sending result which may or may not have succeeded. /// A feedback sending result which may or may not have succeeded.
/// </returns> /// </returns>
@ -75,7 +76,9 @@ public class SettingsCommandGroup : CommandGroup
[Description("Shows settings list for this server")] [Description("Shows settings list for this server")]
[UsedImplicitly] [UsedImplicitly]
public async Task<Result> ExecuteSettingsListAsync( public async Task<Result> ExecuteSettingsListAsync(
[Description("Settings list page")] int page) [Description("Settings list page")]
[MinValue(1)]
int page)
{ {
if (!_context.TryGetContextIDs(out var guildId, out _, out _)) if (!_context.TryGetContextIDs(out var guildId, out _, out _))
{ {

View file

@ -19,18 +19,15 @@ 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 IDiscordRestUserAPI _userApi;
private readonly UtilityService _utility; private readonly UtilityService _utility;
public ScheduledEventUpdateService(IDiscordRestChannelAPI channelApi, IDiscordRestGuildScheduledEventAPI eventApi, public ScheduledEventUpdateService(IDiscordRestChannelAPI channelApi, IDiscordRestGuildScheduledEventAPI eventApi,
GuildDataService guildData, ILogger<ScheduledEventUpdateService> logger, IDiscordRestUserAPI userApi, GuildDataService guildData, ILogger<ScheduledEventUpdateService> logger, UtilityService utility)
UtilityService utility)
{ {
_channelApi = channelApi; _channelApi = channelApi;
_eventApi = eventApi; _eventApi = eventApi;
_guildData = guildData; _guildData = guildData;
_logger = logger; _logger = logger;
_userApi = userApi;
_utility = utility; _utility = utility;
} }
@ -345,12 +342,6 @@ public sealed class ScheduledEventUpdateService : BackgroundService
private async Task<Result> SendEarlyEventNotificationAsync( private async Task<Result> SendEarlyEventNotificationAsync(
IGuildScheduledEvent scheduledEvent, GuildData data, CancellationToken ct) IGuildScheduledEvent scheduledEvent, GuildData data, CancellationToken ct)
{ {
var currentUserResult = await _userApi.GetCurrentUserAsync(ct);
if (!currentUserResult.IsDefined(out var currentUser))
{
return Result.FromError(currentUserResult);
}
var contentResult = await _utility.GetEventNotificationMentions( var contentResult = await _utility.GetEventNotificationMentions(
scheduledEvent, data.Settings, ct); scheduledEvent, data.Settings, ct);
if (!contentResult.IsDefined(out var content)) if (!contentResult.IsDefined(out var content))
@ -359,11 +350,10 @@ public sealed class ScheduledEventUpdateService : BackgroundService
} }
var earlyResult = new EmbedBuilder() var earlyResult = new EmbedBuilder()
.WithSmallTitle( .WithDescription(
string.Format(Messages.EventEarlyNotification, scheduledEvent.Name, string.Format(Messages.EventEarlyNotification, scheduledEvent.Name,
Markdown.Timestamp(scheduledEvent.ScheduledStartTime, TimestampStyle.RelativeTime)), currentUser) Markdown.Timestamp(scheduledEvent.ScheduledStartTime, TimestampStyle.RelativeTime)))
.WithColour(ColorsList.Default) .WithColour(ColorsList.Default)
.WithCurrentTimestamp()
.Build(); .Build();
if (!earlyResult.IsDefined(out var earlyBuilt)) if (!earlyResult.IsDefined(out var earlyBuilt))