From e53a6341a5c1e0d66ffd134e4fed0e1cf118720e Mon Sep 17 00:00:00 2001 From: Ave Ozkal Date: Thu, 19 Dec 2019 16:38:24 +0300 Subject: [PATCH] .trump fml this bot became not only a liberal but also a bloated mess --- assets/trumpfooter.png | Bin 0 -> 6214 bytes assets/trumpheader.png | Bin 0 -> 9133 bytes cogs/imagemanip.py | 63 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 63 insertions(+) create mode 100644 assets/trumpfooter.png create mode 100644 assets/trumpheader.png diff --git a/assets/trumpfooter.png b/assets/trumpfooter.png new file mode 100644 index 0000000000000000000000000000000000000000..4e81e349ffa3556813996d48ae73f5f1ece5dafd GIT binary patch literal 6214 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 literal 0 HcmV?d00001 diff --git a/assets/trumpheader.png b/assets/trumpheader.png new file mode 100644 index 0000000000000000000000000000000000000000..34efe9e4c6a3d39aaf0ca1610673a9c1937d71f8 GIT binary patch literal 9133 zcmYLPcR1Vc*S0BYZ=qTVS_9=7u`9fNvV3ceM^&G%QBV8cpLU zD=a;}3~w(;cr0XAcPmi7B_&s5X`~UK=~e2cjM*fAmC~3~nUaeetev}uh($&8_nmcz zlT%C!FE$PMt1mv4&H*L&{CmUpLWhDrj$Zw-TfU^AfhRP*B^-wfE7-I_qOSl>osN=2 zf()}#A3BocU)9M!jXhEI&&_kq!@;0a)l>{>0Z;t@rUf=k6V0X;eVtPF&$Sl))4K4X z$;WHdd{pw$BG6&HrzrsWz3CCADe&Rdh^dBy&92fkeRb

t$PO#3z@T_o;Jbt&8r+< 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 W__9&gI{qRDfq{;R_FGNInEwOWnUe1S literal 0 HcmV?d00001 diff --git a/cogs/imagemanip.py b/cogs/imagemanip.py index abf4412..031e82c 100644 --- a/cogs/imagemanip.py +++ b/cogs/imagemanip.py @@ -77,6 +77,69 @@ class ImageManip(Cog): await ctx.send(content=f"{mention}: Enjoy.", file=discord.File(out_filename)) + @commands.check(check_if_staff_or_ot) + @commands.command(hidden=True) + async def trump(self, ctx, *, headline: str): + """Gives a trump tweet""" + mention = ctx.author.mention + + in_header = "assets/trumpheader.png" + in_footer = "assets/trumpfooter.png" + font_path = "assets/Segoe UI.ttf" + + # Settings for image generation, don't touch anything + horipos = 10 + vertpos = 70 + font_size = 27 + image_width = 590 + font_wrap_count = 45 + sig_height = 49 + + # Wrap into lines + lines = textwrap.wrap(headline, width=font_wrap_count) + # not great, 4am be like + image_height = (len(lines) + 2) * vertpos + + # Load font + f = PIL.ImageFont.truetype(font_path, font_size) + + # Create image base, paste mobo logo + im = PIL.Image.new("RGB", (image_width, image_height), color="#15202B") + headerim = PIL.Image.open(in_header) + im.paste(headerim, (horipos, 15)) + + # Go through all the wrapped text lines + for line in lines: + # Get size of the text by font, create a new image of that size + size = f.getsize(line) + txt = PIL.Image.new('L', size) + + # Draw the text + d = PIL.ImageDraw.Draw(txt) + d.text((0, 0), line, font=f, fill=255) + + # Paste the text into the base image + w = txt.rotate(0, expand=1) + im.paste(PIL.ImageOps.colorize(w, (0, 0, 0), + (255, 255, 255)), (horipos, vertpos), + w) + + # Calculate position on next line + vertpos += size[1] + + # Add jcox signature + jcoxim = PIL.Image.open(in_footer) + im.paste(jcoxim, (horipos, vertpos + int(sig_height / 3))) + + # Crop the image to the actual resulting size + im = im.crop((0, 0, image_width, vertpos + int(sig_height * 2.5))) + + # Save image + out_filename = f"/tmp/{ctx.message.id}-out.png" + im.save(out_filename, quality=100, optimize=True) + await ctx.send(content=f"{mention}: Enjoy.", + file=discord.File(out_filename)) + def setup(bot): bot.add_cog(ImageManip(bot))