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 in_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.invert(), url) file = discord.File(fp=img.image, filename=f"inverted.{img.format}") mbed = discord.Embed(title='Snap!', color=color) mbed.set_image(url=f"attachment://inverted.{img.format}") mbed.set_footer(text='Syntax: p! in <image link>') await ctx.send(embed=mbed, file=file) except: await ctx.send(embed=discord.Embed( description= f'<:error:806618798768652318> Error when making request.', color=color))
async def invert(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.invert(), url) await ctx.send( file=discord.File(fp=img.image, filename=f"pixel.{img.format}"))
async def invert( 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.invert(), url) file = discord.File(fp=img.image, filename=f"pixel.{img.format}") await ctx.send(file=file)
async def _invert(self, ctx, *, member: discord.Member): ''' Invert the picture ''' with ctx.channel.typing(): url = str( member.avatar_url_as(format="png", static_format="png", size=1024)) img = await self.dagpiclient.image_process(ImageFeatures.invert(), url) file = discord.File(fp=img.image, filename=f"invert.{img.format}") await ctx.send(file=file)
async def invert(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.invert(), url) filename = f'invert.{image.format}' file = discord.File(fp=image.image, filename=filename) await ctx.send(file=file, image=f'attachment://{filename}')
async def invert(self, ctx, member: discord.Member = None): """Inverts 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.invert(), 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 invert(self, ctx, url: str): try: img = await self.dagpi.image_process(ImageFeatures.invert(), url) mbed = discord.Embed(title='Snap!', color=0x39ff14) mbed.set_image(url=f"attachment://inverted.{img.format}") mbed.set_footer( text=f'Inverted Filter | Requested by {ctx.author}') file = discord.File(fp=img.image, filename=f"inverted.{img.format}") 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 dag_invert(self, ctx: Context, *, item=None): """ Inverts an image. """ meth = await self.do_dagpi(ctx, ImageFeatures.invert(), item) await self.dag_embed(ctx, meth, ctx.command.name)