public async Task FindIndex(string URL) { int index = Looter.IndexOf(URL); IndexedMeme m = Looter.ForceMeme(index); await ReplyAsync((index == -1)? "nichts gefunden" : $"{index}: {m.Meme}"); }
protected async Task ProcessMeme(IndexedMeme m) { if (m.Meme == null) { await ReplyAsync("[nix da]"); return; } string title = $"{(m.Index == -1 ? null : "[" + m.Index + "]")}{(m.Meme.Tags.Count == 0 ? "" : " Tags[" + string.Join(",", m.Meme.Tags) + "]")}"; switch (m.Meme.Type) { case MemeType.LinkOnly: await ReplyAsync(title + " " + m.Meme.URL); break; case MemeType.Embed: var builder = new EmbedBuilder { Title = title, Color = new Color(200, 160, 50), ImageUrl = m.Meme.URL, }; await ReplyAsync("", false, builder.Build()); break; } }
public async Task CreateMeme(int index, string upper, string lower) { IndexedMeme m = Looter.ForceMeme(index); string path = Path.Combine(Directory.GetCurrentDirectory(), "Memes"); MemeCreatorManager mcm = new MemeCreatorManager(path, null); var res = mcm.CreateMeme(m.Meme, upper, lower); await Context.Channel.SendFileAsync(res.path, $"{Context.User.Username} is Schuld"); if (Context.Guild != null) { await Context.Channel.DeleteMessagesAsync(new[] { Context.Message.Id }); } Array.ForEach(Directory.GetFiles(path), File.Delete); }