public void Advantage() { var result = string.Empty; var roller = new DieRoller(); var passed = roller.TryParseDieRoll("d20+", "joe", out result); Assert.IsTrue(passed); Assert.IsTrue(result.Contains("joe rolled D20 with advantage:")); }
public void NegativeMod() { var result = string.Empty; var roller = new DieRoller(); var passed = roller.TryParseDieRoll("3d8-3", "joe", out result); Assert.IsTrue(passed); Assert.IsTrue(result.Contains("joe rolled 3D8-3:")); }
public void PositiveMod() { var result = string.Empty; var roller = new DieRoller(); var passed = roller.TryParseDieRoll("4d6+2", "joe", out result); Assert.IsTrue(passed); Assert.IsTrue(result.Contains("joe rolled 4D6+2:")); }
public void MultiDie() { var result = string.Empty; var roller = new DieRoller(); var passed = roller.TryParseDieRoll("3D8", "joe", out result); Assert.IsTrue(passed); Assert.IsTrue(result.Contains("joe rolled 3D8:")); }
public void Simple() { var result = string.Empty; var roller = new DieRoller(); var passed = roller.TryParseDieRoll("d4", "joe", out result); Assert.IsTrue(passed); Assert.IsTrue(result.Contains("joe rolled 1D4:")); }
public void BadInput() { var result = string.Empty; var roller = new DieRoller(); var passed = roller.TryParseDieRoll("nomatch", "joe", out result); Assert.IsFalse(passed); Assert.IsTrue(string.IsNullOrEmpty(result)); }
public async Task HandleCommand(SocketMessage parameterMessage) { // Don't handle the command if it is a system message var message = parameterMessage as SocketUserMessage; if (message == null) { return; } // Don't listen to bots if (message.Source != MessageSource.User) { return; } // Mark where the prefix ends and the command begins int argPos = 0; var prefix = char.Parse(config["prefix"]); // Determine if the message has a valid prefix, adjust argPos if (!(message.HasMentionPrefix(client.CurrentUser, ref argPos) || message.HasCharPrefix(prefix, ref argPos))) { return; } var context = new SocketCommandContext(client, message); var username = UtilityMethods.GetUsername(context); if (message.Content.Length == 1) { await context.Channel.SendMessageAsync($"Why you f****n wit me, {username}? Don chu know I\'m loco?"); return; } if (dieRoller.TryParseDieRoll(message.Content.Substring(1), username, out var msg)) { await context.Channel.SendMessageAsync(msg); return; } await commands.ExecuteAsync(context, argPos, services); }