Skip to content

Commit d57cd57

Browse files
Fix 'debug overrides add'
1 parent 4dbd562 commit d57cd57

File tree

2 files changed

+39
-7
lines changed

2 files changed

+39
-7
lines changed

Commands/Debug.cs

+12-4
Original file line numberDiff line numberDiff line change
@@ -351,16 +351,24 @@ public async Task Add(CommandContext ctx,
351351
[Description("Denied permissions. Use a permission integer. See https://discordlookup.com/permissions-calculator.")] int deniedPermissions)
352352
{
353353
// Confirm permission overrides before we do anything.
354-
var parsedAllowedPerms = (DiscordPermission)allowedPermissions;
355-
var parsedDeniedPerms = (DiscordPermission)deniedPermissions;
354+
var parsedAllowedPerms = new DiscordPermissions(allowedPermissions);
355+
var parsedDeniedPerms = new DiscordPermissions(deniedPermissions);
356+
357+
var allowedPermsStr = parsedAllowedPerms.ToString("name");
358+
if (string.IsNullOrWhiteSpace(allowedPermsStr))
359+
allowedPermsStr = "None";
360+
361+
var deniedPermsStr = parsedDeniedPerms.ToString("name");
362+
if (string.IsNullOrWhiteSpace(deniedPermsStr))
363+
deniedPermsStr = "None";
356364

357365
var confirmButton = new DiscordButtonComponent(DiscordButtonStyle.Success, "debug-overrides-add-confirm-callback", "Yes");
358366
var cancelButton = new DiscordButtonComponent(DiscordButtonStyle.Danger, "debug-overrides-add-cancel-callback", "No");
359367

360368
var confirmationMessage = await ctx.RespondAsync(new DiscordMessageBuilder().WithContent(
361369
$"{Program.cfgjson.Emoji.ShieldHelp} Just to confirm, you want to add the following override for {user.Mention} to {channel.Mention}?\n" +
362-
$"**Allowed:** {parsedAllowedPerms}\n" +
363-
$"**Denied:** {parsedDeniedPerms}\n")
370+
$"**Allowed:** {allowedPermsStr}\n" +
371+
$"**Denied:** {deniedPermsStr}\n")
364372
.AddComponents([confirmButton, cancelButton]));
365373

366374
OverridesPendingAddition.Add(confirmationMessage.Id, new PendingUserOverride

Events/InteractionEvents.cs

+27-3
Original file line numberDiff line numberDiff line change
@@ -109,8 +109,16 @@ await LogChannelHelper.LogDeletedMessagesAsync(
109109
if (overwrites.ContainsKey(channelId.ToString()))
110110
{
111111
// Require extra confirmation for merging permissions!
112+
var currentAllowedPerms = (overwrites[channelId.ToString()].Allowed).ToString("name");
113+
if (string.IsNullOrWhiteSpace(currentAllowedPerms))
114+
currentAllowedPerms = "None";
115+
116+
var currentDeniedPerms = (overwrites[channelId.ToString()].Denied).ToString("name");
117+
if (string.IsNullOrWhiteSpace(currentDeniedPerms))
118+
currentDeniedPerms = "None";
119+
112120
var mergeConfirmResponse = new DiscordMessageBuilder()
113-
.WithContent($"{cfgjson.Emoji.Warning} **Caution:** This user already has an override for <#{channelId}>! Do you want to merge the permissions? Here are their **current** permissions:\n**Allowed:** {overwrites[channelId.ToString()].Allowed}\n**Denied:** {overwrites[channelId.ToString()].Denied}")
121+
.WithContent($"{cfgjson.Emoji.Warning} **Caution:** This user already has an override for <#{channelId}>! Do you want to merge the permissions? Here are their **current** permissions:\n**Allowed:** {currentAllowedPerms}\n**Denied:** {currentDeniedPerms}")
114122
.AddComponents(new DiscordButtonComponent(DiscordButtonStyle.Danger, "debug-overrides-add-merge-confirm-callback", "Merge"), new DiscordButtonComponent(DiscordButtonStyle.Primary, "debug-overrides-add-cancel-callback", "Cancel"));
115123

116124
await e.Message.ModifyAsync(mergeConfirmResponse);
@@ -128,7 +136,15 @@ await LogChannelHelper.LogDeletedMessagesAsync(
128136
overridesPendingAddition.Remove(e.Message.Id);
129137

130138
// Respond
131-
await e.Message.ModifyAsync(new DiscordMessageBuilder().WithContent($"{cfgjson.Emoji.Success} Successfully added the following override for <@{newOverwrite.Id}> to <#{pendingOverride.ChannelId}>!\n**Allowed:** {newOverwrite.Allowed}\n**Denied:** {newOverwrite.Denied}"));
139+
var allowedPermsStr = newOverwrite.Allowed.ToString("name");
140+
if (string.IsNullOrWhiteSpace(allowedPermsStr))
141+
allowedPermsStr = "None";
142+
143+
var deniedPermsStr = newOverwrite.Denied.ToString("name");
144+
if (string.IsNullOrWhiteSpace(deniedPermsStr))
145+
deniedPermsStr = "None";
146+
147+
await e.Message.ModifyAsync(new DiscordMessageBuilder().WithContent($"{cfgjson.Emoji.Success} Successfully added the following override for <@{newOverwrite.Id}> to <#{pendingOverride.ChannelId}>!\n**Allowed:** {allowedPermsStr}\n**Denied:** {deniedPermsStr}"));
132148
}
133149
else if (e.Id == "debug-overrides-add-cancel-callback")
134150
{
@@ -198,7 +214,15 @@ await LogChannelHelper.LogDeletedMessagesAsync(
198214
await db.HashSetAsync("overrides", mockOverwrite.Id, JsonConvert.SerializeObject(overwrites));
199215

200216
// Respond
201-
await e.Message.ModifyAsync(new DiscordMessageBuilder().WithContent($"{cfgjson.Emoji.Success} Override successfully added. <@{newOverwrite.Id}> already had an override in <#{pendingOverride.ChannelId}>, so here are their new permissions:\n**Allowed:** {newOverwrite.Allowed}\n**Denied:** {newOverwrite.Denied}"));
217+
var allowedPermsStr = newOverwrite.Allowed.ToString("name");
218+
if (string.IsNullOrWhiteSpace(allowedPermsStr))
219+
allowedPermsStr = "None";
220+
221+
var deniedPermsStr = newOverwrite.Denied.ToString("name");
222+
if (string.IsNullOrWhiteSpace(deniedPermsStr))
223+
deniedPermsStr = "None";
224+
225+
await e.Message.ModifyAsync(new DiscordMessageBuilder().WithContent($"{cfgjson.Emoji.Success} Override successfully added. <@{newOverwrite.Id}> already had an override in <#{pendingOverride.ChannelId}>, so here are their new permissions:\n**Allowed:** {allowedPermsStr}\n**Denied:** {deniedPermsStr}"));
202226
}
203227
else if (e.Id == "insiders-info-roles-menu-callback")
204228
{

0 commit comments

Comments
 (0)