GitHunt
B1

simple discord slash commands via python asyncio

dashed

simple sdk for creating and executing Discord slash commands and rich interactions.

example

import asyncio
import dashed


@dashed.command(description="It's like an echo chamber in here!")
async def echo(ctx: dashed.InteractionContext, message: str):
    return ctx.reply(content=message)


@dashed.command(description="Add two numbers")
async def sum(ctx: dashed.InteractionContext, x: int, y: int):
    return ctx.reply(content=f"Result: `{x + y}`")


@dashed.command(description="Suprise")
async def boo(ctx: dashed.InteractionContext):
    async def later(ctx: dashed.DeferredInteractionContext):
        await asyncio.sleep(5)
        await ctx.update(content="Boo!")

    # We can decide here whether to respond or defer
    return ctx.defer(later)


@dashed.command(description="Deferred by default")
async def deferred(ctx: dashed.DeferredInteractionContext, message: str):
    # Because we receive a "DeferredInteractionContext", this will always be deferred
    await asyncio.sleep(5)
    await ctx.update(content="It works")

registering commands

$ python -m dashed register-commands --load-from-file example/math.py --application-id ... --delete-unknown

running

$ python -m dashed serve --load-from-file example/math.py --bind 0.0.0.0:8689

Languages

Python100.0%

Contributors

Created July 2, 2021
Updated May 28, 2025
b1naryth1ef/dashed | GitHunt