Implement success message formatting

Imported from `legacy` branch:
RegexBot/RegexBot/Module/AutoMod/ResponseBase.cs:161
This commit is contained in:
Noi 2022-12-16 22:10:08 -08:00
parent 495636baec
commit 634bc26951
3 changed files with 14 additions and 6 deletions

View file

@ -14,8 +14,8 @@ class Ban : BanKick {
// Ban: Unlike kick, the minimum required is just the target ID
var result = await Module.Bot.BanAsync(g, msg.Author.ToString(), targetId, PurgeDays, reason, SendNotify);
if (result.OperationSuccess && SuccessMessage != null) {
// TODO string replacement, formatting, etc
await msg.Channel.SendMessageAsync($"{SuccessMessage}\n{result.GetResultString(Module.Bot)}");
var success = ProcessText(SuccessMessage, msg);
await msg.Channel.SendMessageAsync($"{success}\n{result.GetResultString(Module.Bot)}");
} else {
await msg.Channel.SendMessageAsync(result.GetResultString(Module.Bot));
}
@ -35,8 +35,8 @@ class Kick : BanKick {
var result = await Module.Bot.KickAsync(g, msg.Author.ToString(), targetId, reason, SendNotify);
if (result.OperationSuccess && SuccessMessage != null) {
// TODO string replacement, formatting, etc
await msg.Channel.SendMessageAsync($"{SuccessMessage}\n{result.GetResultString(Module.Bot)}");
var success = ProcessText(SuccessMessage, msg);
await msg.Channel.SendMessageAsync($"{success}\n{result.GetResultString(Module.Bot)}");
} else {
await msg.Channel.SendMessageAsync(result.GetResultString(Module.Bot));
}

View file

@ -36,4 +36,12 @@ abstract class CommandConfig {
};
await target.SendMessageAsync(message ?? "", embed: usageEmbed.Build());
}
protected static string ProcessText(string input, SocketMessage m) {
// TODO elaborate on this
// For now, replaces all instances of @_ with the message sender.
return input
.Replace("@_", m.Author.Mention)
.Replace("@\\_", "@_");
}
}

View file

@ -64,8 +64,8 @@ class Timeout : CommandConfig {
var result = await Module.Bot.SetTimeoutAsync(g, msg.Author.AsEntityNameString(), targetUser,
TimeSpan.FromMinutes(timeParam), reason, SendNotify);
if (result.Success && SuccessMessage != null) {
// TODO string replacement, formatting, etc
await msg.Channel.SendMessageAsync($"{SuccessMessage}\n{result.ToResultString()}");
var success = ProcessText(SuccessMessage, msg);
await msg.Channel.SendMessageAsync($"{success}\n{result.ToResultString()}");
} else {
await msg.Channel.SendMessageAsync(result.ToResultString());
}