mirror of
https://github.com/TeamOctolings/Octobot.git
synced 2025-04-30 11:09:54 +03:00
/userinfo: Show if the user was kicked (#242)
Closes #241 Updates: - Show if the user was kicked by [adding "Kicked" parameter to MemberData](https://github.com/LabsDevelopment/Octobot/issues/241) - Change `mctaylors-ru`'s `UserInfoBannedPermanently` string to be different from `UserInfoBanned` - Finally add `AppendPunishmentsInformation` method to avoid Cognitive Complexity - Use MemberData to check if the user was banned - Rename variable `isMuted` to `wasMuted` to be consistent with other variable names --------- Signed-off-by: mctaylors <cantsendmails@mctaylors.ru>
This commit is contained in:
parent
7d9a85d815
commit
285763d50d
9 changed files with 58 additions and 24 deletions
|
@ -122,32 +122,21 @@ public class ToolsCommandGroup : CommandGroup
|
|||
embedColor = AppendGuildInformation(embedColor, guildMember, builder);
|
||||
}
|
||||
|
||||
var isMuted = (memberData.MutedUntil is not null && DateTimeOffset.UtcNow <= memberData.MutedUntil) ||
|
||||
communicationDisabledUntil is not null;
|
||||
var wasMuted = (memberData.MutedUntil is not null && DateTimeOffset.UtcNow <= memberData.MutedUntil) ||
|
||||
communicationDisabledUntil is not null;
|
||||
var wasBanned = memberData.BannedUntil is not null;
|
||||
var wasKicked = memberData.Kicked;
|
||||
|
||||
var existingBanResult = await _guildApi.GetGuildBanAsync(guildId, target.ID, ct);
|
||||
|
||||
if (isMuted || existingBanResult.IsDefined())
|
||||
if (wasMuted || wasBanned || wasKicked)
|
||||
{
|
||||
builder.Append("### ")
|
||||
.AppendLine(Markdown.Bold(Messages.UserInfoPunishments));
|
||||
|
||||
embedColor = AppendPunishmentsInformation(wasMuted, wasKicked, wasBanned, memberData,
|
||||
builder, embedColor, communicationDisabledUntil);
|
||||
}
|
||||
|
||||
if (isMuted)
|
||||
{
|
||||
AppendMuteInformation(memberData, communicationDisabledUntil, builder);
|
||||
|
||||
embedColor = ColorsList.Red;
|
||||
}
|
||||
|
||||
if (existingBanResult.IsDefined())
|
||||
{
|
||||
AppendBanInformation(memberData, builder);
|
||||
|
||||
embedColor = ColorsList.Black;
|
||||
}
|
||||
|
||||
if (!guildMemberResult.IsSuccess && !existingBanResult.IsDefined())
|
||||
if (!guildMemberResult.IsSuccess && !wasBanned)
|
||||
{
|
||||
builder.Append("### ")
|
||||
.AppendLine(Markdown.Bold(Messages.UserInfoNotOnGuild));
|
||||
|
@ -166,6 +155,29 @@ public class ToolsCommandGroup : CommandGroup
|
|||
return await _feedback.SendContextualEmbedResultAsync(embed, ct: ct);
|
||||
}
|
||||
|
||||
private static Color AppendPunishmentsInformation(bool wasMuted, bool wasKicked, bool wasBanned,
|
||||
MemberData memberData, StringBuilder builder, Color embedColor, DateTimeOffset? communicationDisabledUntil)
|
||||
{
|
||||
if (wasMuted)
|
||||
{
|
||||
AppendMuteInformation(memberData, communicationDisabledUntil, builder);
|
||||
embedColor = ColorsList.Red;
|
||||
}
|
||||
|
||||
if (wasKicked)
|
||||
{
|
||||
builder.AppendBulletPointLine(Messages.UserInfoKicked);
|
||||
}
|
||||
|
||||
if (wasBanned)
|
||||
{
|
||||
AppendBanInformation(memberData, builder);
|
||||
embedColor = ColorsList.Black;
|
||||
}
|
||||
|
||||
return embedColor;
|
||||
}
|
||||
|
||||
private static Color AppendGuildInformation(Color color, IGuildMember guildMember, StringBuilder builder)
|
||||
{
|
||||
if (guildMember.Nickname.IsDefined(out var nickname))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue