mirror of
https://github.com/TeamOctolings/Octobot.git
synced 2025-04-19 16:33:36 +03:00
/listremind now has a link to a message with the creation of a reminder for messages like "this"
This commit is contained in:
parent
5fce01c15c
commit
5e8e889507
1 changed files with 19 additions and 14 deletions
|
@ -93,7 +93,8 @@ public class RemindCommandGroup : CommandGroup
|
||||||
builder.Append("- ").AppendLine(string.Format(Messages.ReminderPosition, Markdown.InlineCode((i + 1).ToString())))
|
builder.Append("- ").AppendLine(string.Format(Messages.ReminderPosition, Markdown.InlineCode((i + 1).ToString())))
|
||||||
.Append(" - ").AppendLine(string.Format(Messages.ReminderText, Markdown.InlineCode(reminder.Text)))
|
.Append(" - ").AppendLine(string.Format(Messages.ReminderText, Markdown.InlineCode(reminder.Text)))
|
||||||
.Append(" - ")
|
.Append(" - ")
|
||||||
.AppendLine(string.Format(Messages.ReminderTime, Markdown.Timestamp(reminder.At)));
|
.AppendLine(string.Format(Messages.ReminderTime, Markdown.Timestamp(reminder.At)))
|
||||||
|
.Append(" - ").AppendLine(reminder.Message);
|
||||||
}
|
}
|
||||||
|
|
||||||
var embed = new EmbedBuilder().WithSmallTitle(
|
var embed = new EmbedBuilder().WithSmallTitle(
|
||||||
|
@ -137,24 +138,16 @@ public class RemindCommandGroup : CommandGroup
|
||||||
var data = await _guildData.GetData(guildId, CancellationToken);
|
var data = await _guildData.GetData(guildId, CancellationToken);
|
||||||
Messages.Culture = GuildSettings.Language.Get(data.Settings);
|
Messages.Culture = GuildSettings.Language.Get(data.Settings);
|
||||||
|
|
||||||
return await AddReminderAsync(@in, text, data, channelId, executor, CancellationToken);
|
return await AddReminderAsync(@in, text, data, channelId, executor, guildId, CancellationToken);
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task<Result> AddReminderAsync(
|
private async Task<Result> AddReminderAsync(
|
||||||
TimeSpan @in, string text, GuildData data,
|
TimeSpan @in, string text, GuildData data,
|
||||||
Snowflake channelId, IUser executor, CancellationToken ct = default)
|
Snowflake channelId, IUser executor, Snowflake guildId, CancellationToken ct = default)
|
||||||
{
|
{
|
||||||
var remindAt = DateTimeOffset.UtcNow.Add(@in);
|
var remindAt = DateTimeOffset.UtcNow.Add(@in);
|
||||||
var memberData = data.GetOrCreateMemberData(executor.ID);
|
var memberData = data.GetOrCreateMemberData(executor.ID);
|
||||||
|
|
||||||
memberData.Reminders.Add(
|
|
||||||
new Reminder
|
|
||||||
{
|
|
||||||
At = remindAt,
|
|
||||||
Channel = channelId.Value,
|
|
||||||
Text = text
|
|
||||||
});
|
|
||||||
|
|
||||||
var builder = new StringBuilder().Append("- ").AppendLine(string.Format(
|
var builder = new StringBuilder().Append("- ").AppendLine(string.Format(
|
||||||
Messages.ReminderText, Markdown.InlineCode(text)))
|
Messages.ReminderText, Markdown.InlineCode(text)))
|
||||||
.Append("- ").Append(string.Format(Messages.ReminderTime, Markdown.Timestamp(remindAt)));
|
.Append("- ").Append(string.Format(Messages.ReminderTime, Markdown.Timestamp(remindAt)));
|
||||||
|
@ -163,10 +156,22 @@ public class RemindCommandGroup : CommandGroup
|
||||||
string.Format(Messages.ReminderCreated, executor.GetTag()), executor)
|
string.Format(Messages.ReminderCreated, executor.GetTag()), executor)
|
||||||
.WithDescription(builder.ToString())
|
.WithDescription(builder.ToString())
|
||||||
.WithColour(ColorsList.Green)
|
.WithColour(ColorsList.Green)
|
||||||
.WithFooter(string.Format(Messages.ReminderPosition, memberData.Reminders.Count))
|
.WithFooter(string.Format(Messages.ReminderPosition, memberData.Reminders.Count + 1))
|
||||||
.Build();
|
.Build();
|
||||||
|
var message = await _feedback.SendContextualEmbedAsync(embed.Entity, ct: ct);
|
||||||
return await _feedback.SendContextualEmbedResultAsync(embed, ct);
|
var messageId = message.Entity.ID.Value;
|
||||||
|
var builderMessage = new StringBuilder().AppendLine(
|
||||||
|
string.Format(Messages.DescriptionActionJumpToMessage,
|
||||||
|
$"https://discord.com/channels/{guildId}/{channelId}/{messageId}"));
|
||||||
|
memberData.Reminders.Add(
|
||||||
|
new Reminder
|
||||||
|
{
|
||||||
|
At = remindAt,
|
||||||
|
Channel = channelId.Value,
|
||||||
|
Text = text,
|
||||||
|
Message = builderMessage.ToString()
|
||||||
|
});
|
||||||
|
return Result.FromSuccess();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
Loading…
Add table
Reference in a new issue