async def slap(self, ctx, member: Optional[Union[discord.Member, MemberID]]): """Slap someone""" member = member or ctx.author if member in ["@everyone", "@here"]: await ctx.send( f"** {ctx.author.mention} why would you slap @everyone? **", allowed_mentions=discord.AllowedMentions(everyone=False), ) return else: desc = f"** {ctx.author.mention} slaps {member.mention} !!! Damm! **" if member == ctx.author: desc = f"** {ctx.author.mention} slaps themselves !!! LOL! **" url = member.display_avatar.url img = await self.dagpi.image_process( ImageFeatures.slap(), url2=ctx.author.display_avatar.url, url=url, ) e2file = discord.File(fp=img.image, filename=f"slap.{img.format}") e = Embed(description=desc) e.set_image(url=f"attachment://slap.{img.format}") await ctx.send(embed=e, file=e2file)
async def tally(self, ctx, poll_id: commands.MessageConverter): """Get polls results""" error_message = ErrorEmbed( description=f"**{poll_id.id}** is not a poll!") if len(poll_id.embeds) <= 0: await ctx.send(embed=error_message) return embed = poll_id.embeds[0] if poll_id.author == ctx.message.author: await ctx.send(embed=error_message) return if isinstance(embed.footer.text, discord.embeds._EmptyEmbed): await ctx.send(embed=error_message) return if not embed.footer.text.startswith('Poll'): await ctx.send(embed=error_message) return if len(poll_id.reactions) < 2: await ctx.send(embed=error_message) return valid_reactions = list( filter( lambda x: x in list( map(lambda x: str(discord.PartialEmoji(name=x.emoji)), poll_id.reactions)), list( map(lambda x: str(discord.PartialEmoji(name=x.emoji)), poll_id.reactions)))) if len(list(valid_reactions)) < 2: await ctx.send(embed=error_message) return valid_reactions_list = list( map( lambda x: (x, discord.utils.find(lambda z: str(z.emoji) == str( x), poll_id.reactions).count), valid_reactions)) valid_reactions_list.sort(reverse=True) valid_reactions_list = [('Option', 'Reacted Counts') ] + valid_reactions_list embed = Embed(title='Poll Results') lengths = [[len(str(x)) for x in row] for row in valid_reactions_list] max_lengths = [ max(map(itemgetter(x), lengths)) for x in range(0, len(valid_reactions_list[0])) ] format_str = ''.join(map(lambda x: '%%-%ss | ' % x, max_lengths)) embed.description = '```markdown\n' + ( format_str % valid_reactions_list[0] ) + '\n' + '-' * (sum(max_lengths) + len(max_lengths) * 3 - 1) for x in valid_reactions_list[1:]: embed.description += f'\n{format_str % x}' embed.description += '\n```' embed.timestamp = poll_id.created_at await ctx.send(embed=embed, reference=poll_id)
async def callback(self, response: discord.SlashCommandResponse): if not response.interaction.guild.icon: return await response.send_message( "This server does not have a avatar...", ephemeral=True) e = Embed( title=f":information_source: Icon for {response.interaction.guild}" ) e.set_image(url=response.interaction.guild.icon.with_format("png").url) await response.send_message(embed=e)
def return_select_help_embed(author: discord.Member): embed = Embed( title='Select your character', description= '```\nSelect your character using which you will fight\n```\n Use to `dropdown` below to view the characters available and click the `confirm` button to confirm your character' ) embed.set_author(name=author.display_name, icon_url=author.display_avatar.url) return embed
async def satan(self, ctx, member: Optional[Union[discord.Member, MemberID]]): """Be the Devil""" member = member or ctx.author url = member.display_avatar.url img = await self.dagpi.image_process(ImageFeatures.satan(), url) e2file = discord.File(fp=img.image, filename=f"satan.{img.format}") e = Embed(title="Satan!!!") e.set_image(url=f"attachment://satan.{img.format}") await ctx.send(embed=e, file=e2file)
async def jail(self, ctx, member: Optional[Union[discord.Member, MemberID]]): """Jail yourself or someone""" member = member or ctx.author url = member.display_avatar.url img = await self.dagpi.image_process(ImageFeatures.jail(), url=url) e2file = discord.File(fp=img.image, filename=f"jail.{img.format}") e = Embed(title="Here You Go! Filter used is jail!") e.set_image(url=f"attachment://jail.{img.format}") await ctx.send(file=e2file, embed=e)
async def pat(self, ctx, member: Optional[Union[discord.Member, MemberID]]): """Pat someone, UwU!""" member = member or ctx.author url = member.display_avatar.url img = await self.dagpi.image_process(ImageFeatures.petpet(), url) e2file = discord.File(fp=img.image, filename=f"petpet.{img.format}") e = Embed(title="UwU Pat!") e.set_image(url=f"attachment://petpet.{img.format}") await ctx.send(file=e2file, embed=e)
async def bomb(self, ctx, member: Optional[Union[discord.Member, MemberID]]): """Bomb someone""" e = Embed(title="Boooom! :skull_crossbones:") member = member or ctx.author url = member.display_avatar.url img = await self.dagpi.image_process(ImageFeatures.bomb(), url) e2file = discord.File(fp=img.image, filename=f"bomb.{img.format}") e.set_image(url=f"attachment://bomb.{img.format}") await ctx.send(embed=e, file=e2file)
async def hitler(self, ctx, member: Optional[Union[discord.Member, MemberID]]): """Hail Hitler""" member = member or ctx.author url = member.display_avatar.url img = await self.dagpi.image_process(ImageFeatures.hitler(), url) e2file = discord.File(fp=img.image, filename=f"hitler.{img.format}") e = Embed(title="Worse than Hitler!!!") e.set_image(url=f"attachment://hitler.{img.format}") await ctx.send(embed=e, file=e2file)
async def charcoal(self, ctx, member: Optional[Union[discord.Member, MemberID]]): """Get your pfp beautiful charcoal paint""" member = member or ctx.author url = member.display_avatar.url img = await self.dagpi.image_process(ImageFeatures.charcoal(), url) e2file = discord.File(fp=img.image, filename=f"charcoal.{img.format}") e = Embed(title="There you go your lovely charcoal paintaing") e.set_image(url=f"attachment://charcoal.{img.format}") await ctx.send(embed=e, file=e2file)
async def angel(self, ctx, member: Optional[Union[discord.Member, MemberID]]): """Be an Angel""" member = member or ctx.author url = member.display_avatar.url img = await self.dagpi.image_process(ImageFeatures.angel(), url) e2file = discord.File(fp=img.image, filename=f"angel.{img.format}") e = Embed(title="Our dear Angel!") e.set_image(url=f"attachment://angel.{img.format}") await ctx.send(embed=e, file=e2file)
async def delete(self, ctx, member: Optional[Union[discord.Member, MemberID]]): """Removes trash from bin""" member = member or ctx.author url = member.display_avatar.url img = await self.dagpi.image_process(ImageFeatures.delete(), url) e2file = discord.File(fp=img.image, filename=f"delete.{img.format}") e = Embed(title="There you go piece of trash removed!") e.set_image(url=f"attachment://delete.{img.format}") await ctx.send(embed=e, file=e2file)
async def trash(self, ctx, member: Optional[Union[discord.Member, MemberID]]): """Puts trash into trashbin""" member = member or ctx.author url = member.display_avatar.url img = await self.dagpi.image_process(ImageFeatures.trash(), url) e2file = discord.File(fp=img.image, filename=f"trash.{img.format}") e = Embed(title="There you go piece of Trash!") e.set_image(url=f"attachment://trash.{img.format}") await ctx.send(embed=e, file=e2file)
async def gay(self, ctx, member: Optional[Union[discord.Member, MemberID]]): """Seperate yourself/others and mark them/yourself as gay!""" member = member or ctx.author url = member.display_avatar.url img = await self.dagpi.image_process(ImageFeatures.gay(), url) e2file = discord.File(fp=img.image, filename=f"gay.{img.format}") e = Embed(title="There you go gay!") e.set_image(url=f"attachment://gay.{img.format}") await ctx.send(embed=e, file=e2file)
async def rainbow(self, ctx, member: Optional[Union[discord.Member, MemberID]]): """Rainbow light effect""" member = member or ctx.author url = member.display_avatar.url img = await self.dagpi.image_process(ImageFeatures.gay(), url) e2file = discord.File(fp=img.image, filename=f"rainbow.{img.format}") e = Embed(title="Here You Go! Filter used is gay!") e.set_image(url=f"attachment://rainbow.{img.format}") await ctx.send(embed=e, file=e2file)
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 wasted(self, ctx, member: Optional[Union[discord.Member, MemberID]]): """GTA V wasted screen""" member = member or ctx.author url = member.display_avatar.url img = await self.dagpi.image_process(ImageFeatures.wasted(), url) e2file = discord.File(fp=img.image, filename=f"wasted.{img.format}") e = Embed(title="Wasted! :skull_crossbones:") e.set_image(url=f"attachment://wasted.{img.format}") await ctx.send(embed=e, file=e2file)
async def triggered(self, ctx, member: Optional[Union[discord.Member, MemberID]]): """Make anyone triggered""" member = member or ctx.author url = member.display_avatar.url img = await self.dagpi.image_process(ImageFeatures.triggered(), url) e2file = discord.File(fp=img.image, filename=f"triggered.{img.format}") e = Embed(title="Here You Go! Filter used is triggered!") e.set_image(url=f"attachment://triggered.{img.format}") await ctx.send(file=e2file, embed=e)
def songembed(song, queued: bool = False): e = Embed(title = song.title if not queued else f'Queued - {song.title}', url=song.url) e.set_image(url=song.thumbnail) e.description=f"- {song.channel} : {song.channel_url}" e.timestamp=discord.utils.utcnow() e.set_footer(text=f'Views: {song.views} | Duration: {round(song.duration/60)} minutes',icon_url=song.thumbnail) return e
async def high5(self, ctx, member: Optional[Union[discord.Member, MemberID]]): """Do a highfive""" member = member or ctx.author if member in ["@everyone", "@here"]: desc = f"**@everyone , {ctx.author.mention} high-fives **" else: desc = f"**{ctx.author.mention} high fives {member.mention} !!! **" if member == ctx.author: desc = f"**{ctx.author.mention} high-fives **" embed = Embed(description=desc, timestamp=discord.utils.utcnow()) embed.set_image(url=await ctx.tenor("anime highfive")) await ctx.send(embed=embed)
async def message(self, ctx, member: Optional[Union[discord.Member, MemberID]], *, text): """Send a fake Discord message""" member = member or ctx.author uname = member.display_name text = str(text) pfp = str(member.display_avatar.url) img = await self.dagpi.image_process(ImageFeatures.discord(), url=pfp, username=uname, text=text) e2file = discord.File(fp=img.image, filename=f"message.{img.format}") e = Embed(title="Here You Go! Message Sent!") e.set_image(url=f"attachment://message.{img.format}") await ctx.send(file=e2file, embed=e)
async def wni(self, ctx, *, member: Optional[Union[discord.Member, MemberID]]): """Prove that you are not sus!""" if member == "@everyone": await ctx.send( f"** {ctx.author.mention} yes yes!!! Everyone is not sus!**") return member = member or ctx.author desc = f"** {member.mention} was not the imposter**" file = discord.File( fp=among_us, filename='wni.png', description=f"** {member.display_name} was not the imposter**") embed = Embed(description=desc, timestamp=discord.utils.utcnow()) embed.set_image(url="attachment://wni.png") await ctx.send(file=file, embed=embed)
async def party(self, ctx, member: Optional[Union[discord.Member, MemberID]]): """Party with someone""" member = member or ctx.author if member in ["@everyone", "@here"]: desc = ( f"**@everyone {ctx.author.mention} is partying!! come join them !! **" ) else: desc = ( f"**{ctx.author.mention} parties with {member.mention} !!! Yaay !!! **" ) if member == ctx.author: desc = f"**{ctx.author.mention} is partying !!!**" embed = Embed(description=desc, timestamp=discord.utils.utcnow()) embed.set_image(url=await ctx.tenor("anime party")) await ctx.send(embed=embed)
async def hug(self, ctx, member: Optional[Union[discord.Member, MemberID]]): """Hug someone""" member = member or ctx.author if member in ["@everyone", "@here"]: await ctx.send( f"** {ctx.author.mention} why would you hug @everyone? **", allowed_mentions=discord.AllowedMentions(everyone=False), ) return else: desc = f"** {ctx.author.mention} hugs {member.mention} !!! :heart: :heart: :heart: **" if member == ctx.author: desc = f"** {ctx.author.mention} hugs themselves !!! :heart: :heart: :heart: :heart: **" embed = Embed(description=desc, timestamp=discord.utils.utcnow()) embed.set_image(url=await ctx.get_random_image_from_tag("anime hugs")) await ctx.send(embed=embed)
async def spank(self, ctx, member: Optional[Union[discord.Member, MemberID]]): """Spank someone""" member = member or ctx.author if member in ["@everyone", "@here"]: await ctx.send( f"** {ctx.author.mention} why would you spank @everyone? **", allowed_mentions=discord.AllowedMentions(everyone=False), ) return else: desc = f"** {ctx.author.mention} spanks {member.mention} !!! Damm! **" if member == ctx.author: desc = f"** {ctx.author.mention} spanks themselves !!! LOL! **" embed = Embed(description=desc, timestamp=discord.utils.utcnow()) embed.set_image(url=await ctx.tenor("anime spank")) await ctx.send(embed=embed)
async def chksupreq(self, ctx): """Checks who still requires the support.""" data = await (await self.database_class()).get(ctx.guild.id) if data is None or data.get("support") is None: await ctx.send(embed=errorembed(ctx)) return role_sup = discord.utils.get(ctx.guild.roles, id=data.get("support")[-1]) l = [m for m in ctx.guild.members if role_sup in m.roles] embed = [] l_no = 0 if len(l) == 0: e = Embed( description= "Those who still **require support** are **None**! :tada:", ) await ctx.send(embed=e) return if len(l) > 10: for i in range(len(l) // 10): description = "" for l in range(10): try: description += f"\n**{l_no+1}.** - {l[l_no].mention}" l_no += 1 except: pass e = Embed(title="Those who still require support:", description=description) embed.append(e) paginator = EmbedPaginator(ctx=ctx, entries=embed) await paginator.start() else: description = "" for k, i in enumerate(l): description += f"\n**{k+1}.** - {l[k].mention}" e = Embed(title="Those who still require support:", description=description) embed.append(e) await ctx.send(embed=e) return
async def captcha( self, ctx, member: Optional[Union[discord.Member, MemberID]], *, text="Detect Face", ): """Captcha v3 Image mockup""" member = member or ctx.author text = str(text) textaslen = len(text) if textaslen > 13: await ctx.send("Maybe text length something smaller then 13?") else: pfp = member.display_avatar.url img = await self.dagpi.image_process(ImageFeatures.captcha(), url=pfp, text=text) e2file = discord.File(fp=img.image, filename=f"captcha.{img.format}") e = Embed(title="Here You Go! Another Captcha?") e.set_image(url=f"attachment://captcha.{img.format}") await ctx.send(file=e2file, embed=e)
async def callback(self, interaction: discord.Interaction): if self.view is None: raise AssertionError value = self.values[0] self.view.character = self.view.get_character_config(value) await interaction.response.defer() embed = Embed(title=self.view.character.name.title()) embed.set_image(url=random.choice(self.view.character.images)) embed.set_author(name=self.view.player.display_name, icon_url=self.view.player.display_avatar.url) await interaction.message.edit(embed=embed, view=self.view)
async def feedback(self, ctx, *, feed): """ Sends your feedback about the server to the server owner. (This can only be done if it is enabled by the server admin) ``The feedback should be less than 2000 characters`` """ if not await ctx.prompt( "Are you sure that you want to **send the feedback** ?", author_id=ctx.author.id, ): return if len(feed) > 2000: await ctx.send( "\N{WARNING SIGN} The feedback should be less than 2000 characters" ) return data = await (await self.database_class()).get(ctx.guild.id) if data is None or data.get("feedback") is None: e = ErrorEmbed( title="No Feedback system setup for this server!", description= "An admin can always setup the **feedback system** using `{}setup add feedback #channelname` command" .format(ctx.prefix), ) await ctx.send(embed=e, delete_after=10) return channel = self.bot.get_channel(data.get("feedback")) e = Embed( title="Feedback sent!", description=f"Your feedback '{feed}' has been sent!", ) await ctx.send(embed=e, delete_after=10) e2 = discord.Embed( title="New Feedback!", description=feed, colour=ctx.author.color or ctx.author.top_role.colour.value or discord.Color.random(), ) e2.set_author(name=ctx.author.display_name, icon_url=ctx.author.display_avatar.url) e.set_author(name=ctx.author.display_name, icon_url=ctx.author.display_avatar.url) await channel.send(embed=e2)
async def build_embed(self) -> discord.Embed: embed = Embed( title="Guess your character!", description=("```swift\n" f"Question-Number : {self.questions}\n" f"Progression-Level: {self.aki.progression}\n```\n" f"{self.build_bar()}"), ) embed.add_field(name="- Question -", value=self.aki.question) embed.set_footer( text="Figuring out the next question | This may take a second") return embed