Removed .rip command

This commit is contained in:
Toastie 2024-07-29 18:32:34 +12:00
parent 86b015115a
commit 20e5bbac89
Signed by: toastie_t0ast
GPG key ID: 27F3B6855AFD40A4
8 changed files with 7 additions and 99 deletions
src/EllieBot/Modules/Searches

View file

@ -39,16 +39,6 @@ public partial class Searches : EllieModule<SearchesService>
_tzSvc = tzSvc;
}
[Cmd]
public async Task Rip([Leftover] IGuildUser usr)
{
var av = usr.RealAvatarUrl();
await using var picStream = await _service.GetRipPictureAsync(usr.Nickname ?? usr.Username, av);
await ctx.Channel.SendFileAsync(picStream,
"rip.png",
$"Rip {Format.Bold(usr.ToString())} \n\t- " + Format.Italics(ctx.User.ToString()));
}
[Cmd]
public async Task Weather([Leftover] string query)
{

View file

@ -73,56 +73,6 @@ public class SearchesService : IEService
}
}
public async Task<Stream> GetRipPictureAsync(string text, Uri imgUrl)
=> (await GetRipPictureFactory(text, imgUrl)).ToStream();
private void DrawAvatar(Image bg, Image avatarImage)
=> bg.Mutate(x => x.Grayscale().DrawImage(avatarImage, new(83, 139), new GraphicsOptions()));
public async Task<byte[]> GetRipPictureFactory(string text, Uri avatarUrl)
{
using var bg = Image.Load<Rgba32>(await _imgs.GetRipBgAsync());
var result = await _c.GetImageDataAsync(avatarUrl);
if (!result.TryPickT0(out var data, out _))
{
using var http = _httpFactory.CreateClient();
data = await http.GetByteArrayAsync(avatarUrl);
using (var avatarImg = Image.Load<Rgba32>(data))
{
avatarImg.Mutate(x => x.Resize(85, 85).ApplyRoundedCorners(42));
await using var avStream = await avatarImg.ToStreamAsync();
data = avStream.ToArray();
DrawAvatar(bg, avatarImg);
}
await _c.SetImageDataAsync(avatarUrl, data);
}
else
{
using var avatarImg = Image.Load<Rgba32>(data);
DrawAvatar(bg, avatarImg);
}
bg.Mutate(x => x.DrawText(
new TextOptions(_fonts.RipFont)
{
HorizontalAlignment = HorizontalAlignment.Center,
FallbackFontFamilies = _fonts.FallBackFonts,
Origin = new(bg.Width / 2, 225),
},
text,
Color.Black));
//flowa
using (var flowers = Image.Load(await _imgs.GetRipOverlayAsync()))
{
bg.Mutate(x => x.DrawImage(flowers, new(0, 0), new GraphicsOptions()));
}
await using var stream = bg.ToStream();
return stream.ToArray();
}
public async Task<WeatherData> GetWeatherDataAsync(string query)
{
query = query.Trim().ToLowerInvariant();
@ -396,12 +346,11 @@ public class SearchesService : IEService
private async Task<OmdbMovie> GetMovieDataFactory(string name)
{
using var http = _httpFactory.CreateClient();
var res = await http.GetStringAsync(string.Format("https://omdbapi.nadeko.bot/"
+ "?t={0}"
+ "&y="
+ "&plot=full"
+ "&r=json",
name.Trim().Replace(' ', '+')));
var res = await http.GetStringAsync("https://omdbapi.nadeko.bot/"
+ $"?t={name.Trim().Replace(' ', '+')}"
+ "&y="
+ "&plot=full"
+ "&r=json");
var movie = JsonConvert.DeserializeObject<OmdbMovie>(res);
if (movie?.Title is null)
return null;
@ -467,7 +416,7 @@ public class SearchesService : IEService
try
{
var result = await _c.GetOrAddAsync($"wikipedia_{query}",
async _ =>
async () =>
{
using var http = _httpFactory.CreateClient();
http.DefaultRequestHeaders.Clear();