From 7d0918a319a0522326dc23821fdc3b20a9326a40 Mon Sep 17 00:00:00 2001 From: Macintosh II Date: Thu, 28 Sep 2023 00:54:50 +0300 Subject: [PATCH] Redesign /about --- locale/Messages.resx | 10 ++++---- locale/Messages.ru.resx | 10 ++++---- locale/Messages.tt-ru.resx | 10 ++++---- src/Commands/AboutCommandGroup.cs | 39 ++++++++++++++++++++++--------- src/Messages.Designer.cs | 4 ++-- 5 files changed, 45 insertions(+), 28 deletions(-) diff --git a/locale/Messages.resx b/locale/Messages.resx index 84d7fa7..3e72a93 100644 --- a/locale/Messages.resx +++ b/locale/Messages.resx @@ -528,15 +528,15 @@ Developers: - - Boyfriend's Wiki Page: - + + Boyfriend's Repository + About Boyfriend - logo and embed designer, Boyfriend's Wiki creator - + developer & designer, Boyfriend's Wiki creator + main developer diff --git a/locale/Messages.ru.resx b/locale/Messages.ru.resx index abeaf88..1682028 100644 --- a/locale/Messages.ru.resx +++ b/locale/Messages.ru.resx @@ -528,9 +528,9 @@ Разработчики: - - Страница Boyfriend's Wiki: - + + Репозиторий Boyfriend + О Boyfriend @@ -541,8 +541,8 @@ основной разработчик - дизайнер лого и эмбедов, создатель Boyfriend's Wiki - + разработчик и дизайнер, создатель Boyfriend's Wiki + Напоминание для {0} создано diff --git a/locale/Messages.tt-ru.resx b/locale/Messages.tt-ru.resx index fb01e72..a13deb1 100644 --- a/locale/Messages.tt-ru.resx +++ b/locale/Messages.tt-ru.resx @@ -528,15 +528,15 @@ девелоперы: - - страничка Boyfriend's Wiki: - + + репа Boyfriend (тык) + немного о Boyfriend - скучный лого/эмбед дизайнер создавший Boyfriend's Wiki - + скучный девелопер + дизайнер создавший Boyfriend's Wiki + ВАЖНЫЙ соучастник кодинг-стримов @Octol1ttle diff --git a/src/Commands/AboutCommandGroup.cs b/src/Commands/AboutCommandGroup.cs index 4ad428a..8285e1c 100644 --- a/src/Commands/AboutCommandGroup.cs +++ b/src/Commands/AboutCommandGroup.cs @@ -12,7 +12,7 @@ using Remora.Discord.Commands.Conditions; using Remora.Discord.Commands.Contexts; using Remora.Discord.Commands.Feedback.Services; using Remora.Discord.Extensions.Embeds; -using Remora.Discord.Extensions.Formatting; +using Remora.Rest.Core; using Remora.Results; namespace Boyfriend.Commands; @@ -23,20 +23,31 @@ namespace Boyfriend.Commands; [UsedImplicitly] public class AboutCommandGroup : CommandGroup { - private static readonly string[] Developers = { "Octol1ttle", "mctaylors", "neroduckale" }; + private static readonly string[] Developers = + { "Octol1ttle", "mctaylors", "neroduckale" }; + + private static readonly List DevelopersIds = + new() { 504343489664909322, 326642240229474304, 474943797063843851 }; + + private static readonly List DevelopersSnowflakes = + DevelopersIds.ConvertAll(r => r.ToSnowflake()); + private readonly ICommandContext _context; private readonly FeedbackService _feedback; private readonly GuildDataService _guildData; private readonly IDiscordRestUserAPI _userApi; + private readonly IDiscordRestGuildAPI _guildApi; public AboutCommandGroup( ICommandContext context, GuildDataService guildData, - FeedbackService feedback, IDiscordRestUserAPI userApi) + FeedbackService feedback, IDiscordRestUserAPI userApi, + IDiscordRestGuildAPI guildApi) { _context = context; _guildData = guildData; _feedback = feedback; _userApi = userApi; + _guildApi = guildApi; } /// @@ -66,20 +77,26 @@ public class AboutCommandGroup : CommandGroup var cfg = await _guildData.GetSettings(guildId, CancellationToken); Messages.Culture = GuildSettings.Language.Get(cfg); - return await SendAboutBotAsync(currentUser, CancellationToken); + return await SendAboutBotAsync(currentUser, guildId, CancellationToken); } - private async Task SendAboutBotAsync(IUser currentUser, CancellationToken ct = default) + private async Task SendAboutBotAsync(IUser currentUser, Snowflake guildId, CancellationToken ct = default) { - var builder = new StringBuilder().AppendLine(Markdown.Bold(Messages.AboutTitleDevelopers)); - foreach (var dev in Developers) + var builder = new StringBuilder().Append("### ").AppendLine(Messages.AboutTitleDevelopers); + for (var i = 0; i < Developers.Length; i++) { - builder.AppendLine($"@{dev} — {$"AboutDeveloper@{dev}".Localized()}"); + var tag = $"@{Developers[i]}"; + var guildMemberResult = await _guildApi.GetGuildMemberAsync(guildId, DevelopersSnowflakes[i], ct); + if (guildMemberResult.IsSuccess) + { + tag = $"<@{DevelopersIds[i]}>"; + } + + builder.AppendLine($"- {tag} — {$"AboutDeveloper@{Developers[i]}".Localized()}"); } - builder.AppendLine() - .AppendLine(Markdown.Bold(Messages.AboutTitleWiki)) - .AppendLine("https://github.com/LabsDevelopment/Boyfriend/wiki"); + builder.Append("### [").Append(Messages.AboutTitleRepository) + .Append("](https://github.com/LabsDevelopment/Boyfriend)"); var embed = new EmbedBuilder().WithSmallTitle(Messages.AboutBot, currentUser) .WithDescription(builder.ToString()) diff --git a/src/Messages.Designer.cs b/src/Messages.Designer.cs index b45ae70..88da6c9 100644 --- a/src/Messages.Designer.cs +++ b/src/Messages.Designer.cs @@ -876,9 +876,9 @@ namespace Boyfriend { } } - internal static string AboutTitleWiki { + internal static string AboutTitleRepository { get { - return ResourceManager.GetString("AboutTitleWiki", resourceCulture); + return ResourceManager.GetString("AboutTitleRepository", resourceCulture); } }