Skip to content

Commit da3d4a2

Browse files
Merge branch 'main' into floatingmilkshake/dsp-command-migration
2 parents d1203e4 + d57cd57 commit da3d4a2

File tree

2 files changed

+39
-7
lines changed

2 files changed

+39
-7
lines changed

Commands/DebugCmds.cs

+12-4
Original file line numberDiff line numberDiff line change
@@ -357,16 +357,24 @@ public async Task Add(TextCommandContext ctx,
357357
[Description("Denied permissions. Use a permission integer. See https://discordlookup.com/permissions-calculator.")] int deniedPermissions)
358358
{
359359
// Confirm permission overrides before we do anything.
360-
var parsedAllowedPerms = (DiscordPermission)allowedPermissions;
361-
var parsedDeniedPerms = (DiscordPermission)deniedPermissions;
360+
var parsedAllowedPerms = new DiscordPermissions(allowedPermissions);
361+
var parsedDeniedPerms = new DiscordPermissions(deniedPermissions);
362+
363+
var allowedPermsStr = parsedAllowedPerms.ToString("name");
364+
if (string.IsNullOrWhiteSpace(allowedPermsStr))
365+
allowedPermsStr = "None";
366+
367+
var deniedPermsStr = parsedDeniedPerms.ToString("name");
368+
if (string.IsNullOrWhiteSpace(deniedPermsStr))
369+
deniedPermsStr = "None";
362370

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

366374
await ctx.RespondAsync(new DiscordMessageBuilder().WithContent(
367375
$"{Program.cfgjson.Emoji.ShieldHelp} Just to confirm, you want to add the following override for {user.Mention} to {channel.Mention}?\n" +
368-
$"**Allowed:** {parsedAllowedPerms}\n" +
369-
$"**Denied:** {parsedDeniedPerms}\n")
376+
$"**Allowed:** {allowedPermsStr}\n" +
377+
$"**Denied:** {deniedPermsStr}\n")
370378
.AddComponents([confirmButton, cancelButton]));
371379
var confirmationMessage = await ctx.GetResponseAsync();
372380

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)