New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

discord-btns-menus

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

discord-btns-menus

A responsive package for Buttons, DropMenus, Combinations and Paginator

  • 0.2.6
  • Source
  • PyPI
  • Socket score

Maintainers
1

Package Name: discord-btns-menus

A responsive package for Buttons, DropMenus, Combinations and Paginator
• This module makes the process a lot easier !

python badge

CodeQL Generic badge Github License Windows Linux

GitHub stars GitHub forks GitHub issues

Join Official Discord Server for more guidance !

Key Features

  • Buttons
  • DropMenus
  • Combinations (Usage of both Buttons & DropMenus)
  • Paginator Generic badge

  • Installation

    Python 3.8 or higher is required !

    # Linux/macOS
      python3 -m pip install discord-btns-menus
    
    
    # Windows
    
      # Method-1:
        py -3 -m pip install discord-btns-menus
        # or
        python -m pip install discord-btns-menus
    
      # Method-2:
        pip install discord-btns-menus
    
    
    # Using GIT for ALPHA or BETA Versions
    
      # Method-1:
        pip install git+https://github.com/Modern-Realm/discord_btns_menus.git
    
      # Method-2:
        pip install -U git+https://github.com/Modern-Realm/discord_btns_menus
    

    REQUIRED DEPENDENCIES

    You can use ANY ONE of the below Package
    • py-cord

    • nextcord

    • discord.pyV2.0

    • disnake

      For disnake you should Refactor all discord terms to disnake terms to make Package work

    Note: Don't install more than one DEPENDENCY !


    Sample Usage

    Create a file with '.py ' extension, Like: main.py

    from btns_menus.Buttons import SButton, SingleButton
    from btns_menus.DropMenus import SDropMenu, DuoDropMenu
    from btns_menus.Combinations import BtnAndDropMenu, MultiBtnAndMenu
    
    import discord
    from discord.ext import commands
    
    intents = discord.Intents.all()
    activity = discord.Game("&help - phoenix")
    
    client = commands.Bot(command_prefix="&", intents=intents, activity=activity)
    
    
    @client.event
    async def on_ready():
        await client.change_presence(status=discord.Status.online)
        print("Bot is Ready !")
    
    
    @client.command()
    async def test(ctx):
        user = ctx.author
    
        btn1 = SButton(label="Hello", response="Hello have a nice day !")
    
        view_ = SingleButton(user, btn1).view()
        await ctx.send("click here !", view=view_)
    
    
    if __name__ == "__main__":
        client.run('token')
    
    

    Example for Buttons:

    Button type DuoButton, for more samples go to Examples/Buttons

    @client.command()
    async def test(ctx):
        user: discord.Member = ctx.author
        btn1 = SButton(label="Wave 👋", response=f"Hello {user.mention} have a nice day !")
        btn2 = SButton(label="Bye", response=f"Bye {user.mention} see you later !", style=ButtonStyle.secondary)
        view_ = DuoButton(user, btn1, btn2).view()
    
        await ctx.send(f"Sample buttons ...", view=view_)
    

    Preview:

    Button-Samples.gif


    Examples for DropMenus:

    DropMenu type DuoDropMenu, for more samples go to Examples/DropMenuss

    @client.command()
    async def test(ctx):
        user: discord.Member = ctx.author
    
        menu1 = SDropMenu(placeholder="select one", options=[
            SelectOption(label="username"),
            SelectOption(label="None of the above")
        ])
        menu1.add_query(("username", f"username: {user.name}"))
    
        menu2 = SDropMenu(placeholder="choose one", options=[
            SelectOption(label="discriminator"),
            SelectOption(label="None of the above")
        ])
        menu2.add_query(("discriminator", f"discriminator: {user.discriminator}"))
    
        view_ = DuoDropMenu(user, menu1, menu2).view()
    
        await ctx.send(f"Sample buttons ...", view=view_)
    

    Preview:

    DropMenu-Samples.gif


    Buttons & DropMenus combination

    • In this feature you can make & send Buttons and DropMenus together
    • For more examples for mixture of btns & menus go to Examples/combinations

    Examples for combinations

    Usage of both Buttons and DropMenus at once ...

    @client.command()
    async def test(ctx):
        user: discord.Member = ctx.author
    
        btn1 = SButton(label="Delete Menu", style=ButtonStyle.danger, delete_msg=True)
        menu1 = SDropMenu(placeholder="Select one", options=[
            SelectOption(label="About Python", value="python")
        ])
        menu1.add_query(("python", "Python is a widely-used, interpreted, object-oriented and"
                                   " high-level programming language with dynamic semantics, used for general-purpose programming.\n"
                                   "It was created by Guido van Rossum, and first released on February 20, 1991."))
    
        view_ = BtnAndDropMenu(user, btn1, menu1).view()
    
        await ctx.send(f"Sample buttons & Menus combinations ...", view=view_)
    

    Preview:

    Sample-Combinations.gif


    Example for MultiButtons

    Button type MultiButton, for more samples go to Examples/Buttons

    The Process for MultiDropMenu will be the same ...

    @client.command()
    async def test(ctx):
        user: discord.Member = ctx.author
        user_avatar = user.display_avatar or user.default_avatar
    
        btn1 = SButton(label="username", style=ButtonStyle.primary, response=user.name)
        btn2 = SButton(label="discriminator", style=ButtonStyle.secondary, response=user.discriminator)
        btn4 = SButton(label="Avatar", style=ButtonStyle.secondary, response=str(user_avatar), ephemeral=True)
        btn3 = SButton(label="Server Name", style=ButtonStyle.secondary, response=user.guild.name)
        btn5 = SButton(label="Display Name", style=ButtonStyle.secondary, response=user.display_name)
        btn6 = SButton(label="Delete Menu", style=ButtonStyle.danger, delete_msg=True)
    
        buttons = [btn1, btn2, btn3, btn4, btn5, btn6]
    
        view_ = MultiButton(user, buttons).view()
    
        await ctx.send(f"Sample Usage of Multi Buttons ...", view=view_)
    

    Preview:

    Sample-Combinations.gif


    Example for Paginator

    Generic badge

    It is used for help commands which sends the embeds like page-wise using buttons & Drop Menus

    from btns_menus.Paginator import *
    from datetime import datetime
    import discord
    
    
    # This function is for sample purposes, use discord.Embed instead [RECOMMENDED]
    def embed(context: str, color=0xffff00, timestamp: bool = False) -> discord.Embed:
        present_time = datetime.utcnow() if timestamp else None
        em = discord.Embed(description=context, color=discord.Color(color), timestamp=present_time)
        return em
    
    
    @client.command()
    async def help(ctx):
        user = ctx.author
    
        embeds = [embed("embed-1"), embed("embed-2"), embed("embed-3"),
                  embed("embed-4"), embed("embed-5"), embed("embed-6")]
        cmd_list = [
            SOption(name="moderation", embed_=embeds[1]),
            SOption(name="giveaways", embed_=embeds[2]),
            SOption(name="links", embed_=embeds[3])
        ]
    
        view_ = Paginator(user, embeds, commands_list=cmd_list).view()
        await ctx.send(embed=embeds[0], view=view_)
    

    Sample-Combinations.gif


    You can get support/help/guidance from below social-media links


    Keywords

    FAQs


    Did you know?

    Socket

    Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

    Install

    Related posts

    SocketSocket SOC 2 Logo

    Product

    • Package Alerts
    • Integrations
    • Docs
    • Pricing
    • FAQ
    • Roadmap
    • Changelog

    Packages

    npm

    Stay in touch

    Get open source security insights delivered straight into your inbox.


    • Terms
    • Privacy
    • Security

    Made with ⚡️ by Socket Inc