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 test_image_unaccesible(): tok = os.getenv("DAGPI_TOKEN") c = Client(tok) try: await c.image_process(ImageFeatures.wanted(), "https://google.com") except Exception as e: assert isinstance(e, errors.ImageUnaccesible) await c.close()
async def wanted(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.dag.image_process(ImageFeatures.wanted(), url) await ctx.send( file=discord.File(fp=img.image, filename=f"pixel.{img.format}"))
async def wanted(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.wanted(), url) e2file = discord.File(fp=img.image, filename=f"wanted.{img.format}") e = discord.Embed(title="Here You Go! Filter used is wanted!") e.set_image(url=f"attachment://wanted.{img.format}") await ctx.send(file=e2file, embed=e)
async def wanted(self, ctx, member: Optional[Union[discord.Member, MemberID]]): """Get yourself or someone listed in Bingo Book""" member = member or ctx.author url = member.display_avatar.url img = await self.dagpi.image_process(ImageFeatures.wanted(), url) e2file = discord.File(fp=img.image, filename=f"wanted.{img.format}") e = Embed(title="Here You Go! Filter used is wanted!") e.set_image(url=f"attachment://wanted.{img.format}") await ctx.send(file=e2file, embed=e)
async def _wanted(self, ctx, *, member: discord.Member): ''' Just like in the wild west ''' with ctx.channel.typing(): url = str( member.avatar_url_as(format="png", static_format="png", size=1024)) img = await self.dagpiclient.image_process(ImageFeatures.wanted(), url) file = discord.File(fp=img.image, filename=f"wanted.{img.format}") await ctx.send(file=file)
async def wanted(self, ctx: utils.CustomContext, user: discord.Member = None): """Puts a members user avatar on a wanted poster. 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.wanted()) await ctx.send(content=f"Hands up **{user.name}!**", file=img_file)
async def wanted(self, ctx, member: discord.Member = None): if member is None: member = ctx.author warn_msg = 'the dagpi wanted endpoint has a flaw which makes it very slow to compute' if ctx.author.id in self.bot.owner_ids else 'This may take some time' warn = await ctx.send(warn_msg) url = str(member.avatar_url_as(format="png", size=1024)) img = await self.bot.dag.image_process(ImageFeatures.wanted(), url) try: await warn.delete() except: pass finally: await (commands.Context( prefix=ctx.prefix, message=ctx.message)).send(file=discord.File( fp=img.image, filename=f"pixel.{img.format}"))
async def dag_wanted(self, ctx: Context, *, item=None): """ Overlay your image on a wanted poster. """ meth = await self.do_dagpi(ctx, ImageFeatures.wanted(), item) await self.dag_embed(ctx, meth, ctx.command.name)