Ejemplo n.º 1
0
 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)
Ejemplo n.º 2
0
    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))
Ejemplo n.º 3
0
 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}"))
Ejemplo n.º 4
0
 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)
Ejemplo n.º 5
0
 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)
Ejemplo n.º 6
0
    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}')
Ejemplo n.º 7
0
 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)
Ejemplo n.º 8
0
 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))
Ejemplo n.º 9
0
 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)