Beispiel #1
0
    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)
Beispiel #3
0
 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)
Beispiel #4
0
 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
Beispiel #5
0
 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)
Beispiel #6
0
    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)
Beispiel #7
0
    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)
Beispiel #8
0
    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)
Beispiel #9
0
    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)
Beispiel #10
0
    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)
Beispiel #11
0
    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)
Beispiel #12
0
    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)
Beispiel #13
0
    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)
Beispiel #14
0
    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)
Beispiel #15
0
    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)
Beispiel #16
0
    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)
Beispiel #17
0
    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)
Beispiel #18
0
    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)
Beispiel #19
0
 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
Beispiel #20
0
    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)
Beispiel #21
0
    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)
Beispiel #22
0
    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)
Beispiel #23
0
    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)
Beispiel #24
0
    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)
Beispiel #25
0
    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
Beispiel #27
0
    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)
Beispiel #28
0
 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)
Beispiel #30
0
 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