ban templates will now use smarttext instead of crembed

This commit is contained in:
Kwoth
2021-07-12 02:51:55 +02:00
parent dc6d17eee7
commit 9f6cbe0929
3 changed files with 16 additions and 35 deletions

View File

@@ -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);
}
}
}

View File

@@ -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)
{