Skip to content

Releases: hyvnova/discord-bot-devkit

Version 1.2

18 Nov 00:56
Compare
Choose a tag to compare

New

  • Interaction Control; Controls who can use an interaction. (interaction_control module)

Changes

  • Removed EmbedTemplate; Needs a re-work

Bug Fix

  • Embed could not recieve author as init parameter

Full Changelog: https://github.com/EZSNoVa/DicortBotDevKit/commits/v1.2

Version 1.1.0

06 Nov 16:36
Compare
Choose a tag to compare

Major changes

  • Fixed Embed and added support for more properties (footer, author)
  • Fixed Modaland addedas_dict` method

Minor Changes

  • states module is almost working. Need to fix process_states methods and correcto ther mior bugs
  • Fixed type hints
  • Resolved imports overlapping

Other changes

  • Modal now doesnt require Root and is not part of RootItems
  • Added EmbedFooter and EmbedAuthor classes
    Addedstates` module (concent module)

Full Changelog: v1.0.0...v1.1.0

Version 1.0.0 (Stable)

31 Oct 22:13
Compare
Choose a tag to compare

First stable verion of DBDK

Full Changelog: https://github.com/EZSNoVa/DicortBotDevKit/commits/v1.0.0

NoVa - Discord Bot Dev Kit

Is a set of funtions and classes to simplify the creation of discord bots

Installing DBDK

pip install dbdk
  • You can install DBDK manually using PyPI

Importing DBDK

from dbdk import * 

Note: check Imports and defined members to know what's being imported

Creating A Root

@bot.command(name="sample")
async def sample_command(ctx: commands.context.Context):

    root: Root = await createRoot(ctx)
  • Roots are the start and managers of everything in DBDK.
    In most cases you will only need 1 root per command.

View Introduction

  • As shown in the example above, we assuming this is inside a command function definition.
root: Root = createRoot(ctx)

# by default `root` has a `view` property
root.view

# You can add items to the view using `add_item` or  `add_items` methods
await root.view.add_items(
    Button(on_click_callback, "This is the label"),

    SelectMenu(
        on_select_callback, options = [
            SelectOption
        ]
    )
)

Adding a Button to the view

# Create a on click callback function; this function is called when the button is clicked
async def on_click(clicked_button: Button, interaction: discord.Interaction):

    # respond the interacion
    await interaction.response.send_message("You Clicked the button!")

await root.view.add_items(
    Button(
        on_click,
        label = "Click Me!",
        emoji = '🙂'
    )
)

    # That's all, you'll see changes reflected in the root message

Embeds

await root.embeds.add_items(
    Embed(
        title = "My Embed",
        description = "My embed description :D",
        color = discord.Color.green()
    )
)