Beispiel #1
0
        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);
            }
        }
Beispiel #2
0
        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);
        }
Beispiel #4
0
        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");
        }