fix: show correct name in entityReference when base name is private

This commit is contained in:
spiral
2022-02-05 09:26:14 -05:00
parent 47e501da81
commit 375758206e
8 changed files with 72 additions and 68 deletions

View File

@@ -81,16 +81,18 @@ public class Groups
EventData = dispatchData
});
var reference = newGroup.Reference(ctx);
var eb = new EmbedBuilder()
.Description(
$"Your new group, **{groupName}**, has been created, with the group ID **`{newGroup.Hid}`**.\nBelow are a couple of useful commands:")
.Field(new Embed.Field("View the group card", $"> pk;group **{newGroup.Reference()}**"))
.Field(new Embed.Field("View the group card", $"> pk;group **{reference}**"))
.Field(new Embed.Field("Add members to the group",
$"> pk;group **{newGroup.Reference()}** add **MemberName**\n> pk;group **{newGroup.Reference()}** add **Member1** **Member2** **Member3** (and so on...)"))
$"> pk;group **{reference}** add **MemberName**\n> pk;group **{reference}** add **Member1** **Member2** **Member3** (and so on...)"))
.Field(new Embed.Field("Set the description",
$"> pk;group **{newGroup.Reference()}** description **This is my new group, and here is the description!**"))
$"> pk;group **{reference}** description **This is my new group, and here is the description!**"))
.Field(new Embed.Field("Set the group icon",
$"> pk;group **{newGroup.Reference()}** icon\n*(with an image attached)*"));
$"> pk;group **{reference}** icon\n*(with an image attached)*"));
await ctx.Reply($"{Emojis.Success} Group created!", eb.Build());
if (existingGroupCount >= Limits.WarnThreshold(groupLimit))
@@ -128,7 +130,7 @@ public class Groups
var noDisplayNameSetMessage = "This group does not have a display name set.";
if (ctx.System?.Id == target.System)
noDisplayNameSetMessage +=
$" To set one, type `pk;group {target.Reference()} displayname <display name>`.";
$" To set one, type `pk;group {target.Reference(ctx)} displayname <display name>`.";
// No perms check, display name isn't covered by member privacy
@@ -153,11 +155,13 @@ public class Groups
.Field(new Embed.Field("Name", target.Name))
.Field(new Embed.Field("Display Name", target.DisplayName));
var reference = target.Reference(ctx);
if (ctx.System?.Id == target.System)
eb.Description(
$"To change display name, type `pk;group {target.Reference()} displayname <display name>`."
+ $"To clear it, type `pk;group {target.Reference()} displayname -clear`."
+ $"To print the raw display name, type `pk;group {target.Reference()} displayname -raw`.");
$"To change display name, type `pk;group {reference} displayname <display name>`."
+ $"To clear it, type `pk;group {reference} displayname -clear`."
+ $"To print the raw display name, type `pk;group {reference} displayname -raw`.");
await ctx.Reply(embed: eb.Build());
}
@@ -194,7 +198,7 @@ public class Groups
var noDescriptionSetMessage = "This group does not have a description set.";
if (ctx.System?.Id == target.System)
noDescriptionSetMessage +=
$" To set one, type `pk;group {target.Reference()} description <description>`.";
$" To set one, type `pk;group {target.Reference(ctx)} description <description>`.";
if (ctx.MatchRaw())
{
@@ -214,9 +218,9 @@ public class Groups
.Title("Group description")
.Description(target.Description)
.Field(new Embed.Field("\u200B",
$"To print the description with formatting, type `pk;group {target.Reference()} description -raw`."
$"To print the description with formatting, type `pk;group {target.Reference(ctx)} description -raw`."
+ (ctx.System?.Id == target.System
? $" To clear it, type `pk;group {target.Reference()} description -clear`."
? $" To clear it, type `pk;group {target.Reference(ctx)} description -clear`."
: "")))
.Build());
return;
@@ -289,7 +293,7 @@ public class Groups
.Image(new Embed.EmbedImage(target.Icon.TryGetCleanCdnUrl()));
if (target.System == ctx.System?.Id)
eb.Description($"To clear, use `pk;group {target.Reference()} icon -clear`.");
eb.Description($"To clear, use `pk;group {target.Reference(ctx)} icon -clear`.");
await ctx.Reply(embed: eb.Build());
}
@@ -353,7 +357,7 @@ public class Groups
.Image(new Embed.EmbedImage(target.BannerImage));
if (target.System == ctx.System?.Id)
eb.Description($"To clear, use `pk;group {target.Reference()} banner clear`.");
eb.Description($"To clear, use `pk;group {target.Reference(ctx)} banner clear`.");
await ctx.Reply(embed: eb.Build());
}
@@ -389,7 +393,7 @@ public class Groups
if (target.Color == null)
if (ctx.System?.Id == target.System)
await ctx.Reply(
$"This group does not have a color set. To set one, type `pk;group {target.Reference()} color <color>`.");
$"This group does not have a color set. To set one, type `pk;group {target.Reference(ctx)} color <color>`.");
else
await ctx.Reply("This group does not have a color set.");
else
@@ -399,7 +403,7 @@ public class Groups
.Thumbnail(new Embed.EmbedThumbnail($"https://fakeimg.pl/256x256/{target.Color}/?text=%20"))
.Description($"This group's color is **#{target.Color}**."
+ (ctx.System?.Id == target.System
? $" To clear it, type `pk;group {target.Reference()} color -clear`."
? $" To clear it, type `pk;group {target.Reference(ctx)} color -clear`."
: ""))
.Build());
}
@@ -481,7 +485,7 @@ public class Groups
.Field(new Embed.Field("Metadata (creation date)", target.MetadataPrivacy.Explanation()))
.Field(new Embed.Field("Visibility", target.Visibility.Explanation()))
.Description(
$"To edit privacy settings, use the command:\n> pk;group **{target.Reference()}** privacy **<subject>** **<level>**\n\n- `subject` is one of `name`, `description`, `icon`, `members`, `metadata`, `visibility`, or `all`\n- `level` is either `public` or `private`.")
$"To edit privacy settings, use the command:\n> pk;group **{target.Reference(ctx)}** privacy **<subject>** **<level>**\n\n- `subject` is one of `name`, `description`, `icon`, `members`, `metadata`, `visibility`, or `all`\n- `level` is either `public` or `private`.")
.Build());
return;
}