Add slap counter

This commit is contained in:
runebaas 2018-01-19 23:46:11 +01:00
parent fdb38192fe
commit efadbe9a21
No known key found for this signature in database
GPG key ID: 2677AF508D0300D6

View file

@ -4,17 +4,21 @@ using System.Threading.Tasks;
using Discord;
using Discord.Commands;
using Geekbot.net.Lib;
using StackExchange.Redis;
namespace Geekbot.net.Commands
{
public class Slap : ModuleBase
{
private readonly IErrorHandler _errorHandler;
private readonly Random _random;
private readonly IDatabase _redis;
public Slap(IErrorHandler errorHandler, Random random)
public Slap(IErrorHandler errorHandler, Random random, IDatabase redis)
{
_errorHandler = errorHandler;
_random = random;
_redis = redis;
}
[Command("slap", RunMode = RunMode.Async)]
@ -24,10 +28,16 @@ namespace Geekbot.net.Commands
{
try
{
if (user.Id == Context.User.Id)
{
await ReplyAsync("Why would you slap yourself?");
return;
}
var things = new List<string>()
{
"thing",
"rubber duck",
"rubber chicken",
"leek stick",
"large trout",
"flat hand",
@ -42,8 +52,15 @@ namespace Geekbot.net.Commands
"monstertruck",
"dirty toilet brush",
"sleeping seagull",
"sunflower"
"sunflower",
"mousepad",
"lolipop",
"bottle of rum"
};
_redis.HashIncrement($"{Context.Guild.Id}:SlapsRecieved", user.Id.ToString());
_redis.HashIncrement($"{Context.Guild.Id}:SlapsGiven", Context.User.Id.ToString());
await ReplyAsync($"{Context.User.Username} slapped {user.Username} with a {things[_random.Next(things.Count - 1)]}");
}
catch (Exception e)