geekbot/Geekbot.net/Modules/CheckEm.cs

74 lines
2.2 KiB
C#
Raw Normal View History

2017-09-15 12:58:49 +02:00
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using Discord.Commands;
using Geekbot.net.Lib;
2017-09-26 22:09:57 +02:00
using Serilog;
2017-09-15 12:58:49 +02:00
namespace Geekbot.net.Modules
{
public class CheckEm : ModuleBase
{
private readonly ICheckEmImageProvider checkEmImages;
2017-09-15 22:56:03 +02:00
private readonly Random rnd;
2017-09-26 22:09:57 +02:00
private readonly ILogger logger;
private readonly IErrorHandler errorHandler;
2017-09-15 22:56:03 +02:00
2017-09-26 22:09:57 +02:00
public CheckEm(Random RandomClient, ICheckEmImageProvider checkEmImages, ILogger logger, IErrorHandler errorHandler)
2017-09-15 12:58:49 +02:00
{
2017-09-26 22:09:57 +02:00
this.rnd = RandomClient;
2017-09-15 12:58:49 +02:00
this.checkEmImages = checkEmImages;
2017-09-26 22:09:57 +02:00
this.logger = logger;
this.errorHandler = errorHandler;
2017-09-15 12:58:49 +02:00
}
2017-09-15 22:56:03 +02:00
[Command("checkem", RunMode = RunMode.Async)]
[Summary("Check for dubs")]
2017-09-15 12:58:49 +02:00
public async Task MuhDubs()
{
2017-09-15 22:56:03 +02:00
try
{
var number = rnd.Next(10000000, 99999999);
var dubtriqua = "";
var ns = GetIntArray(number);
if (ns[7] == ns[6])
{
dubtriqua = "DUBS";
if (ns[6] == ns[5])
{
dubtriqua = "TRIPS";
if (ns[5] == ns[4])
dubtriqua = "QUADS";
}
}
var sb = new StringBuilder();
sb.AppendLine($"Check em {Context.User.Mention}");
sb.AppendLine($"**{number}**");
if (!string.IsNullOrEmpty(dubtriqua))
sb.AppendLine($":tada: {dubtriqua} :tada:");
sb.AppendLine(checkEmImages.GetRandomCheckEmPic());
await ReplyAsync(sb.ToString());
}
catch (Exception e)
{
2017-09-26 22:09:57 +02:00
errorHandler.HandleCommandException(e, Context);
2017-09-15 12:58:49 +02:00
}
}
2017-09-15 22:56:03 +02:00
private int[] GetIntArray(int num)
{
var listOfInts = new List<int>();
while (num > 0)
{
listOfInts.Add(num % 10);
num = num / 10;
}
listOfInts.Reverse();
return listOfInts.ToArray();
2017-09-15 12:58:49 +02:00
}
}
}