mirror of
https://github.com/TeamOctolings/Octobot.git
synced 2025-04-19 08:23:35 +03:00
a more clever workaround
This commit is contained in:
parent
ee2a19409a
commit
a4661116de
4 changed files with 50 additions and 8 deletions
|
@ -158,11 +158,22 @@ public sealed class RemindCommandGroup : CommandGroup
|
|||
return await _feedback.SendContextualEmbedResultAsync(failedEmbed, ct: CancellationToken);
|
||||
}
|
||||
|
||||
return await AddReminderAsync(timeSpan, text, data, channelId, executor, CancellationToken);
|
||||
var replacedText = text.Replace("`", "");
|
||||
if (replacedText.Equals(string.Empty))
|
||||
{
|
||||
var failedEmbed = new EmbedBuilder()
|
||||
.WithSmallTitle(Messages.ReminderTextOnlyBanned, bot)
|
||||
.WithColour(ColorsList.Red)
|
||||
.Build();
|
||||
|
||||
return await _feedback.SendContextualEmbedResultAsync(failedEmbed, ct: CancellationToken);
|
||||
}
|
||||
|
||||
private async Task<Result> AddReminderAsync(TimeSpan timeSpan, string text, GuildData data,
|
||||
Snowflake channelId, IUser executor, CancellationToken ct = default)
|
||||
return await AddReminderAsync(timeSpan, text, replacedText, data, channelId, executor, CancellationToken);
|
||||
}
|
||||
|
||||
private async Task<Result> AddReminderAsync(TimeSpan timeSpan, string text, string replacedText,
|
||||
GuildData data, Snowflake channelId, IUser executor, CancellationToken ct = default)
|
||||
{
|
||||
var memberData = data.GetOrCreateMemberData(executor.ID);
|
||||
var remindAt = DateTimeOffset.UtcNow.Add(timeSpan);
|
||||
|
@ -177,17 +188,24 @@ public sealed class RemindCommandGroup : CommandGroup
|
|||
{
|
||||
At = remindAt,
|
||||
ChannelId = channelId.Value,
|
||||
Text = text,
|
||||
Text = replacedText,
|
||||
MessageId = response.ID.Value
|
||||
});
|
||||
|
||||
var builder = new StringBuilder()
|
||||
.AppendBulletPointLine(string.Format(Messages.ReminderText, Markdown.InlineCode(text)))
|
||||
.AppendBulletPoint(string.Format(Messages.ReminderTime, Markdown.Timestamp(remindAt)));
|
||||
var textEqualsReplaced = text.Equals(replacedText);
|
||||
var builder = new StringBuilder().AppendBulletPointLine(
|
||||
string.Format(Messages.ReminderText, Markdown.InlineCode(replacedText)));
|
||||
if (!textEqualsReplaced)
|
||||
{
|
||||
builder.AppendSubBulletPointLine(Messages.ReminderTextContainedBanned);
|
||||
}
|
||||
|
||||
builder.AppendBulletPoint(string.Format(Messages.ReminderTime, Markdown.Timestamp(remindAt)));
|
||||
|
||||
var embed = new EmbedBuilder().WithSmallTitle(
|
||||
string.Format(Messages.ReminderCreated, executor.GetTag()), executor)
|
||||
.WithDescription(builder.ToString())
|
||||
.WithColour(ColorsList.Green)
|
||||
.WithColour(textEqualsReplaced ? ColorsList.Green : ColorsList.Yellow)
|
||||
.WithFooter(string.Format(Messages.ReminderPosition, memberData.Reminders.Count))
|
||||
.Build();
|
||||
|
||||
|
|
12
TeamOctolings.Octobot/Messages.Designer.cs
generated
12
TeamOctolings.Octobot/Messages.Designer.cs
generated
|
@ -1196,5 +1196,17 @@ namespace TeamOctolings.Octobot {
|
|||
return ResourceManager.GetString("SettingsModeratorRole", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
internal static string ReminderTextContainedBanned {
|
||||
get {
|
||||
return ResourceManager.GetString("ReminderTextContainedBanned", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
internal static string ReminderTextOnlyBanned {
|
||||
get {
|
||||
return ResourceManager.GetString("ReminderTextOnlyBanned", resourceCulture);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -681,4 +681,10 @@
|
|||
<data name="SettingsModeratorRole" xml:space="preserve">
|
||||
<value>Moderator role</value>
|
||||
</data>
|
||||
<data name="ReminderTextContainedBanned" xml:space="preserve">
|
||||
<value>Reminder text contained banned characters.</value>
|
||||
</data>
|
||||
<data name="ReminderTextOnlyBanned" xml:space="preserve">
|
||||
<value>Reminder text contains only banned characters!</value>
|
||||
</data>
|
||||
</root>
|
||||
|
|
|
@ -681,4 +681,10 @@
|
|||
<data name="SettingsModeratorRole" xml:space="preserve">
|
||||
<value>Роль модератора</value>
|
||||
</data>
|
||||
<data name="ReminderTextContainedBanned" xml:space="preserve">
|
||||
<value>Текст напоминания содержал запрещенные символы.</value>
|
||||
</data>
|
||||
<data name="ReminderTextOnlyBanned" xml:space="preserve">
|
||||
<value>Текст напоминания содержит только запрещенные символы!</value>
|
||||
</data>
|
||||
</root>
|
||||
|
|
Loading…
Add table
Reference in a new issue