forked from EllieBotDevs/elliebot
47 lines
1.3 KiB
C#
47 lines
1.3 KiB
C#
|
#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();
|
|||
|
}
|
|||
|
}
|