#nullable disable using EllieBot.Modules.Games.Services; namespace EllieBot.Modules.Games; /* more games - Shiritori - Simple RPG adventure */ public partial class Games : EllieModule<GamesService> { private readonly IImageCache _images; private readonly IHttpClientFactory _httpFactory; private readonly Random _rng = new(); public Games(IImageCache images, IHttpClientFactory factory) { _images = images; _httpFactory = factory; } [Cmd] public async Task Choose([Leftover] string list = null) { if (string.IsNullOrWhiteSpace(list)) return; var listArr = list.Split(';'); if (listArr.Length < 2) return; var rng = new EllieRandom(); await Response().Confirm("🤔", listArr[rng.Next(0, listArr.Length)]).SendAsync(); } [Cmd] public async Task EightBall([Leftover] string question = null) { if (string.IsNullOrWhiteSpace(question)) return; var res = _service.GetEightballResponse(ctx.User.Id, question); await Response().Embed(_sender.CreateEmbed() .WithOkColor() .WithDescription(ctx.User.ToString()) .AddField("❓ " + GetText(strs.question), question) .AddField("🎱 " + GetText(strs._8ball), res)).SendAsync(); } }