public async Task ModifyKarmaCommand(string operation, SocketGuildUser user, int amount)
        {
            (Context.User as IGuildUser).EnsureStaff();

            switch (operation.ToLower())
            {
            case "set":
                _karmaTable.SetKarma(user, amount);
                break;

            case "add":
                _karmaTable.AddKarma(user, amount);
                break;

            case "remove":
                _karmaTable.RemoveKarma(user, amount);
                break;

            default:
                await ReplyAsync("Unknown karma operation.");

                return;
            }

            await ReplyAsync($"{ UserHelper.GetDisplayName(user) } has { _karmaTable.GetKarma(user) } points.");
        }
Beispiel #2
0
        public async Task ThankUserCommand([Remainder] IGuildUser user)
        {
            IUser source = Context.User, target = user;

            if (source == target)
            {
                throw new System.Exception("You cannot thank yourself.");
            }

            _karmaTable.AddKarma(target);

            int    total         = _karmaTable.GetKarma(target);
            string pointsDisplay = $"{ total } point{ (total != 1 ? "s" : "") }";
            var    message       = await ReplyAsync($"{ user.GetDisplayName() } has { pointsDisplay }.");

            _ = message.TimedDeletion(5000);
        }