async def pixel_error(self, ctx, error): if isinstance(error, commands.CommandOnCooldown): errembed = discord.Embed( title='Hold on there, buddy', color=err_color, description= 'Wait 3 more seconds before you can get another snap!') await ctx.send(embed=errembed) elif isinstance(error, commands.MissingRequiredArgument): async with self.ses.get(str(ctx.author.avatar_url)) as r: img = Image.open(BytesIO(await r.read()), mode='r') try: img.seek(1) url = str(ctx.author.avatar_url_as(format=f'gif')) except EOFError: url = str(ctx.author.avatar_url_as(format=f'png')) try: img = await self.dagpi.image_process( ImageFeatures.pixel(), url) file = discord.File(fp=img.image, filename=f"pixel.{img.format}") mbed = discord.Embed(title='Snap!', color=color) mbed.set_image(url=f"attachment://pixel.{img.format}") mbed.set_footer( text= 'Syntax: p! pixel <image link> | Quality may be bad. Specify url if this is the case.' ) await ctx.send(embed=mbed, file=file) except: await ctx.send(embed=discord.Embed( description= '<:error:806618798768652318> Error when making request.', color=color))
def __init__(self, client): self.client = client self.dynamic = [(ImageFeatures.night(), ImageConverter), (ImageFeatures.gay(), ImageConverter), (ImageFeatures.wanted(), ImageConverter), (ImageFeatures.ascii(), StaticImageConverter), (ImageFeatures.sobel(), StaticImageConverter), (ImageFeatures.hog(), StaticImageConverter), (ImageFeatures.colors(), StaticImageConverter), (ImageFeatures.rgb(), StaticImageConverter), (ImageFeatures.sith(), StaticImageConverter), (ImageFeatures.triggered(), StaticImageConverter), (ImageFeatures.deepfry(), ImageConverter), (ImageFeatures.invert(), ImageConverter), (ImageFeatures.wasted(), ImageConverter), (ImageFeatures.communism(), StaticImageConverter), (ImageFeatures.america(), StaticImageConverter), (ImageFeatures.pixel(), ImageConverter), (ImageFeatures.fedora(), ImageConverter), (ImageFeatures.jail(), ImageConverter), (ImageFeatures.magik(), StaticImageConverter), (ImageFeatures.rainbow(), ImageConverter), (ImageFeatures.triangle(), StaticImageConverter)] for command in self.dynamic: self.make_fn(command[0], command[1]) self.make_fn_alex("salty", StaticImageConverter) self.make_fn_alex("jokeoverhead", StaticImageConverter)
async def pixel(self, ctx, member: discord.Member = None): await ctx.trigger_typing() if member is None: member = ctx.author url = str( member.avatar_url_as(format="png", static_format="png", size=1024)) img = await self.bot.dagp.image_process(ImageFeatures.pixel(), url) await ctx.send( file=discord.File(fp=img.image, filename=f"pixel.{img.format}"))
async def pixel(self, ctx, member: discord.Member = None): if member is None: member = ctx.author url = str(member.avatar_url_as(format="png", size=1024)) img = await self.bot.dagpi.image_process(ImageFeatures.pixel(), url) e2file = discord.File(fp=img.image, filename=f"pixel.{img.format}") e = discord.Embed(title="Here You Go! Filter used is pixel!") e.set_image(url=f"attachment://pixel.{img.format}") await ctx.send(file=e2file, embed=e)
async def test_image(): tok = os.getenv("DAGPI_TOKEN") c = Client(tok) img = await c.image_process(ImageFeatures.pixel(), "https://dagbot-is.the-be.st/logo.png") await c.close() img.write("some.png") assert isinstance(img, Image) assert isinstance(img.read(), bytes) assert isinstance(repr(img), str) assert isinstance(img.size(), int)
async def pixel( self, ctx, thing: typing.Union[discord.Member, discord.PartialEmoji, discord.Emoji, str] = None, ): async with ctx.channel.typing(): url = await self.get_url(ctx, thing) img = await dagpi.image_process(ImageFeatures.pixel(), url) file = discord.File(fp=img.image, filename=f"pixel.{img.format}") await ctx.send(file=file)
async def pixel(self, ctx, member: Optional[Union[discord.Member, MemberID]]): """Pixallate your pfp""" member = member or ctx.author url = member.display_avatar.url img = await self.dagpi.image_process(ImageFeatures.pixel(), url) e2file = discord.File(fp=img.image, filename=f"pixel.{img.format}") e = Embed(title="Here You Go! Filter used is pixel!") e.set_image(url=f"attachment://pixel.{img.format}") await ctx.send(file=e2file, embed=e)
async def pixelate(self, ctx: utils.CustomContext, user: discord.Member = None): """Pixelates someones profile picture. Powered by Dagpi.""" async with ctx.timeit: async with ctx.typing(): user = user or ctx.author img_file = await do_dagpi_stuff(ctx, user, ImageFeatures.pixel()) await ctx.send(file=img_file)
async def _pixelate(self, ctx, *, member: discord.Member): ''' Pixelate the given member ''' with ctx.channel.typing(): url = str( member.avatar_url_as(format="png", static_format="png", size=1024)) img = await self.dagpiclient.image_process(ImageFeatures.pixel(), url) file = discord.File(fp=img.image, filename=f"pixel.{img.format}") await ctx.send(file=file)
async def pixel(self, ctx: commands.Context, *, member: discord.Member = None): member = member or ctx.author url = str(member.avatar_url_as(static_format='png', size=1024)) image = await ctx.dagpi.image_process(ImageFeatures.pixel(), url) filename = f'pixel.{image.format}' file = discord.File(fp=image.image, filename=filename) await ctx.send(file=file, image=f'attachment://{filename}')
async def pixel(self, ctx, member: discord.Member = None): """Pixelates the author or given members profile picture""" if member is None: member = ctx.author url = str( member.avatar_url_as(format="png", static_format="png", size=1024)) try: img = await self.bot.dagpi_client.image_process( ImageFeatures.pixel(), url) except Exception as e: return await ctx.send(f"``` \n {e} ```") file = discord.File(fp=img.image, filename=f"colors.{img.format}") await ctx.send(embed=discord.Embed(color=0x31A1F1).set_image( url=f"attachment://colors.{img.format}"), file=file)
async def pixelate(self, ctx, url: str): try: img = await self.dagpi.image_process(ImageFeatures.pixel(), url) file = discord.File(fp=img.image, filename=f"pixel.{img.format}") mbed = discord.Embed(title='Snap!', color=color) mbed.set_image(url=f"attachment://pixel.{img.format}") mbed.set_footer( text=f'Pixelated Filter | Requested by {ctx.author}') await ctx.send(embed=mbed, file=file) except: await ctx.send(embed=discord.Embed( description= f'<:error:806618798768652318> Error when making request. | Image may be a WEBP file.', color=color))
async def test_image(): tok = os.getenv("DAGPI_TOKEN") c = Client(tok) img = await c.image_process(ImageFeatures.pixel(), "https://dagbot-is.the-be.st/logo.png") assert isinstance(img, Image)
async def dag_pixel(self, ctx: Context, *, item=None): """ Adds a pixel effect to an image. """ meth = await self.do_dagpi(ctx, ImageFeatures.pixel(), item, False) await self.dag_embed(ctx, meth, ctx.command.name)