diff --git a/src/NadekoBot/Modules/Administration/Services/UserPunishService.cs b/src/NadekoBot/Modules/Administration/Services/UserPunishService.cs index db082a8ac..730e572ec 100644 --- a/src/NadekoBot/Modules/Administration/Services/UserPunishService.cs +++ b/src/NadekoBot/Modules/Administration/Services/UserPunishService.cs @@ -413,7 +413,7 @@ WHERE GuildId={guildId} } } - public CREmbed GetBanUserDmEmbed(ICommandContext context, IGuildUser target, string defaultMessage, + public SmartText GetBanUserDmEmbed(ICommandContext context, IGuildUser target, string defaultMessage, string banReason, TimeSpan? duration) { return GetBanUserDmEmbed( @@ -426,7 +426,7 @@ WHERE GuildId={guildId} duration); } - public CREmbed GetBanUserDmEmbed(DiscordSocketClient client, SocketGuild guild, + public SmartText GetBanUserDmEmbed(DiscordSocketClient client, SocketGuild guild, IGuildUser moderator, IGuildUser target, string defaultMessage, string banReason, TimeSpan? duration) { var template = GetBanTemplate(guild.Id); @@ -450,7 +450,6 @@ WHERE GuildId={guildId} .WithOverride("%ban.duration%", () => duration?.ToString(@"d\.hh\:mm")?? "perma") .Build(); - CREmbed crEmbed = null; // if template isn't set, use the old message style if (string.IsNullOrWhiteSpace(template)) { @@ -459,8 +458,6 @@ WHERE GuildId={guildId} color = Bot.ErrorColor.RawValue, description = defaultMessage }); - - CREmbed.TryParse(template, out crEmbed); } // if template is set to "-" do not dm the user else if (template == "-") @@ -468,23 +465,18 @@ WHERE GuildId={guildId} return default; } // if template is an embed, send that embed with replacements - else if (CREmbed.TryParse(template, out crEmbed)) - { - replacer.Replace(crEmbed); - } // otherwise, treat template as a regular string with replacements - else + else if (!SmartText.CreateFrom(template).IsEmbed) { template = JsonConvert.SerializeObject(new { color = Bot.ErrorColor.RawValue, - description = replacer.Replace(template) + description = template }); - - CREmbed.TryParse(template, out crEmbed); } - return crEmbed; + var output = SmartText.CreateFrom(template); + return replacer.Replace(output); } } } diff --git a/src/NadekoBot/Modules/Administration/UserPunishCommands.cs b/src/NadekoBot/Modules/Administration/UserPunishCommands.cs index ab231aa1d..e9c21f432 100644 --- a/src/NadekoBot/Modules/Administration/UserPunishCommands.cs +++ b/src/NadekoBot/Modules/Administration/UserPunishCommands.cs @@ -433,7 +433,7 @@ namespace NadekoBot.Modules.Administration if (embed is not null) { var userChannel = await guildUser.GetOrCreateDMChannelAsync(); - await userChannel.EmbedAsync(embed, _eb); + await userChannel.SendAsync(embed); } } catch @@ -500,7 +500,7 @@ namespace NadekoBot.Modules.Administration if (embed is not null) { var userChannel = await user.GetOrCreateDMChannelAsync(); - await userChannel.EmbedAsync(embed, _eb); + await userChannel.SendAsync(embed); } } catch @@ -577,13 +577,13 @@ namespace NadekoBot.Modules.Administration { var dmChannel = await ctx.User.GetOrCreateDMChannelAsync(); var defaultMessage = GetText("bandm", Format.Bold(ctx.Guild.Name), reason); - var crEmbed = _service.GetBanUserDmEmbed(Context, + var embed = _service.GetBanUserDmEmbed(Context, (IGuildUser)Context.User, defaultMessage, reason, duration); - if (crEmbed is null) + if (embed is null) { await ConfirmLocalizedAsync("bandm_disabled"); } @@ -591,7 +591,7 @@ namespace NadekoBot.Modules.Administration { try { - await dmChannel.EmbedAsync(crEmbed, _eb); + await dmChannel.SendAsync(embed); } catch (Exception) { diff --git a/src/NadekoBot/Modules/Help/Help.cs b/src/NadekoBot/Modules/Help/Help.cs index c1cbfb743..ff238fa34 100644 --- a/src/NadekoBot/Modules/Help/Help.cs +++ b/src/NadekoBot/Modules/Help/Help.cs @@ -49,7 +49,7 @@ namespace NadekoBot.Modules.Help _lazyClientId = new AsyncLazy(async () => (await _client.GetApplicationInfoAsync()).Id); } - public async Task<(string plainText, IEmbedBuilder embed)> GetHelpStringEmbed() + public async Task GetHelpString() { var botSettings = _bss.Data; if (string.IsNullOrWhiteSpace(botSettings.HelpText) || botSettings.HelpText == "-") @@ -64,18 +64,8 @@ namespace NadekoBot.Modules.Help .WithOverride("%bot.prefix%", () => Prefix) .Build(); - var app = await _client.GetApplicationInfoAsync(); - - if (!CREmbed.TryParse(botSettings.HelpText, out var embed)) - { - var eb = _eb.Create().WithOkColor() - .WithDescription(String.Format(botSettings.HelpText, clientId, Prefix)); - return ("", eb); - } - - r.Replace(embed); - - return (embed.PlainText, embed.ToEmbed(_eb)); + var text = SmartText.CreateFrom(botSettings.HelpText); + return r.Replace(text); } [NadekoCommand, Aliases] @@ -271,11 +261,10 @@ namespace NadekoBot.Modules.Help : channel; try { - var data = await GetHelpStringEmbed(); + var data = await GetHelpString(); if (data == default) return; - var (plainText, helpEmbed) = data; - await ch.EmbedAsync(helpEmbed, msg: plainText ?? "").ConfigureAwait(false); + await ch.SendAsync(data); try{ await ctx.OkAsync(); } catch { } // ignore if bot can't react } catch (Exception)