public void Invoke(CommandHandler handler, CommandEventArgs args) { const int PASSWORD_MIN_LENGTH = 7; DiscordUserLink dul = DClient.UserManager[args.User.Id]; if (dul == null || dul.Accounts == null || dul.Accounts.Length == 0) { args.Channel.SendEmbedMessage("No account found (Did you link your account?)").ConfigureAwait(false); return; } if (args.Parameters.Count >= 2) { if (args.Parameters[1].Length < PASSWORD_MIN_LENGTH) { args.Channel.SendEmbedMessage($"Your password needs to be atleast {PASSWORD_MIN_LENGTH} characters long").ConfigureAwait(false); return; } for (int i = 0; i < dul.Accounts.Length; i++) { if (dul.Accounts[i].Username.Equals(args.Parameters[0], StringComparison.CurrentCultureIgnoreCase)) { dul.Accounts[i].SetPassword(args.Parameters[1]); args.Channel.SendEmbedMessage("Successfully changed your password").ConfigureAwait(false); return; } } args.Channel.SendEmbedMessage($"Account {args.Parameters[0]} not found").ConfigureAwait(false); } else { if (args.Parameters[0].Length < PASSWORD_MIN_LENGTH) { args.Channel.SendEmbedMessage($"Your password needs to be atleast {PASSWORD_MIN_LENGTH} characters long").ConfigureAwait(false); return; } if (dul.Accounts.Length > 1) { HelpCommand.ShowHelp(args.Channel, this, "Multiple accounts found, please specify one"); return; } dul.Accounts[0].SetPassword(args.Parameters[0]); args.Channel.SendEmbedMessage("Successfully changed your password").ConfigureAwait(false); } }
public void Invoke(CommandHandler handler, CommandEventArgs args) { DiscordUserLink dul = DClient.UserManager[args.User.Id]; if (dul == null || dul.Accounts == null || dul.Accounts.Length == 0) { args.Channel.SendEmbedMessage("You need to link your account first").ConfigureAwait(false); return; } for (int i = 0; i < World.Mobiles.Count; i++) { Mobile m = World.Mobiles.ElementAt(i).Value; if (!m.Player || !m.Name.Equals(args.Parameters[0])) { continue; } bool endAndContinue = false; for (int x = 0; x < dul.Accounts.Length; x++) { if (m.Account.Username.Equals(dul.Accounts[x].Username)) { endAndContinue = true; break; } } if (endAndContinue) { continue; } dul.SelectedCharacter = m; DClient.UserManager.AddOrUpdate(dul); args.Channel.SendEmbedMessage("Selected your character").ConfigureAwait(false); return; } args.Channel.SendEmbedMessage("Character not found!").ConfigureAwait(false); }
public void Invoke(CommandHandler handler, CommandEventArgs args) { DiscordUserLink dul = DClient.UserManager[args.User.Id]; if (dul != null && dul.Accounts != null && dul.Accounts.Length >= DClient.UserManager.AccountsPerIp) { args.Channel.SendEmbedMessage("You can't create more accounts").ConfigureAwait(false); return; } else if (dul == null) { dul = new DiscordUserLink(args.User.Id); } Account acc = new Account(args.Parameters[0], args.Parameters[1]); dul.AddAccount(acc); DClient.UserManager.AddOrUpdate(dul); args.Channel.SendEmbedMessage($"Created account:\n```\n{args.Parameters[0]}\n{args.Parameters[1]}\n```").ConfigureAwait(false); DClient.DiscordLog($"New account created: {args.Parameters[0]}", LogLevel.Info); }
void LinkAccountIngame(Server.Commands.CommandEventArgs e) { if (string.IsNullOrWhiteSpace(e.ArgString) || !_verificationCodes.TryGetValue(e.ArgString, out ulong userId)) { e.Mobile.SendMessage($"Verification code {e.ArgString} not found!"); return; } Accounting.Account acc = e.Mobile.Account as Accounting.Account; DiscordUserLink dul = DClient.UserManager[acc]; if (dul != null && dul.DiscordUserId == 0) { dul.DiscordUserId = userId; } else if (dul == null) { dul = new DiscordUserLink(acc, userId); } DClient.UserManager.AddOrUpdate(dul); e.Mobile.SendMessage("You successfully linked your account to user discord account"); }