Exemplo n.º 1
0
        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}");
        }
Exemplo n.º 2
0
        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;
            }
        }
Exemplo n.º 3
0
        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);
        }