Skip to content

Commit 3c75a57

Browse files
Add optional nickname argument to /nicknamelock enable
1 parent 169be11 commit 3c75a57

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

Commands/InteractionCommands/NicknameLockInteraction.cs

+8-4
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ public class NicknameLockInteraction : ApplicationCommandModule
1313
public class NicknameLockSlashCommands
1414
{
1515
[SlashCommand("enable", "Prevent a member from changing their nickname.")]
16-
public async Task NicknameLockEnableSlashCmd(InteractionContext ctx, [Option("member", "The member to nickname lock.")] DiscordUser discordUser)
16+
public async Task NicknameLockEnableSlashCmd(InteractionContext ctx, [Option("member", "The member to nickname lock.")] DiscordUser discordUser, [Option("nickname", "The nickname to use. Will use current nickname if not set.")] string nickname = "")
1717
{
1818
DiscordMember member = default;
1919

@@ -28,13 +28,17 @@ public async Task NicknameLockEnableSlashCmd(InteractionContext ctx, [Option("me
2828

2929
var currentValue = await Program.db.HashGetAsync($"nicknamelock", discordUser.Id);
3030

31-
if (currentValue.HasValue)
31+
if (currentValue.HasValue && (nickname == "" || nickname == member.Nickname))
3232
{
3333
await ctx.RespondAsync($"{Program.cfgjson.Emoji.Error} {discordUser.Mention} is already nickname locked!", mentions: false);
3434
} else
3535
{
36-
await Program.db.HashSetAsync("nicknamelock", discordUser.Id, member.DisplayName);
37-
var msg = $"{Program.cfgjson.Emoji.On} Nickname locked {discordUser.Mention} as `{member.DisplayName}`!";
36+
if (nickname == "")
37+
nickname = member.DisplayName;
38+
39+
await Program.db.HashSetAsync("nicknamelock", discordUser.Id, nickname);
40+
await member.ModifyAsync(m => m.Nickname = nickname);
41+
var msg = $"{Program.cfgjson.Emoji.On} Nickname locked {discordUser.Mention} as `{nickname}`!";
3842
await ctx.RespondAsync(msg, mentions: false);
3943
await LogChannelHelper.LogMessageAsync("nicknames", msg);
4044
}

0 commit comments

Comments
 (0)