Dismake is a robust framework designed to assist you in developing stateless and independent Discord bots that employ Slash Commands. The framework is built on top of the FastAPI, a high-performance Python web framework, making it easy to use, efficient, and speedy.
- Dismake requires Python 3.9 or later versions to work correctly.
- Discord Bot token
Before you start using Dismake, you'll need to create a new Discord application and add a bot to it.
To install Dismake, use the following command to install it directly from PyPI:
pip install dismake
Let's create a basic bot that echoes user text back to them.
Create a new Python file named main.py
, and copy and paste the following code:
import dismake
import typing
app = dismake.Bot(...)
@app.event()
async def on_ready():
print(f"Logged in as {app.user!r}.")
@app.command(
name="echo",
description="A simple echo command."
)
async def echo_command(
ctx: dismake.Context,
text: typing.Annotated[
str, dismake.Option(name="text", description="Type something")
]
):
await ctx.respond(f"{text}")
Explanation:
- Import the
dismake
library to access its functionality. - Create a new instance of the
dismake.Bot
class,app
, which will represent the connection to Discord. Replace...
with the necessary parameters, such as your bot token. - Use the
@app.event()
decorator to register anon_ready
event. This event will be triggered when the bot successfully logs in to Discord. In this example, the event handler simply prints a message indicating that the bot has logged in. - Use the
@app.command()
decorator to register a slash command. In this case, the command is named "echo" and has a description of "A simple echo command." - Define the function
echo_command
to handle the "echo" command. The function takes two parameters:ctx
(the dismake.Context object) and text (annotated withtyping.Annotated[str, dismake.Option(name="text", description="Type something")]
). The annotation provides additional information for the command option, specifying its name and description. - Inside the
echo_command
function, use thectx.respond
method to send a response back to the user. In this case, the response is the echoed text.
To initialize a new dismake configuration file, follow these steps:
- Open your console or terminal.
- Run the command
dismake init
.
dismake init
- You will be prompted with a question asking for the name of your bot variable.
? What is the name of your bot variable (app): app
- Once you provide the bot variable name, dismake will generate a new file called
dismake.config.toml
for your project.
Successfully created a 'dismake.config.toml' file.
By following these steps, you will have successfully initialized a new dismake config file.
To run the bot you need to run the following command in your console or terminal:
dismake run
- Easy-to-use and intuitive framework for building Discord bots with Slash Commands
- Built on top of the FastAPI web framework, providing a high-performance and efficient backend
- Fully customizable with support for middleware, extensions, and custom context classes
- Supports easy integration with databases, message queues, and other external services
- Provides a convenient and powerful way to define and manage Slash Commands and their options
- Includes built-in command validation and error handling for cleaner and more maintainable code
For detailed usage and installation instructions, please check out the official Dismake documentation
If you have any questions or issues with Dismake, please feel free to reach out to us on the Discord server.
For details about our roadmap, please check out our Roadmap page.
We welcome contributions from anyone! If you want to contribute to Dismake, please follow these guidelines:
The documentation is generated with Nextra. If you want to contribute to the documentation, please do the following:
- Clone the repository.
- Navigate to the
/docs
directory. - Run
npm install
to install the required dependencies. - Run
npm run dev
to start the development server. - Make your changes, push and create a pull request.
If you want to contribute to the Dismake package or report an issue, please do the following:
- Fork the repository.
- Make your changes.
- Format your code
- Test your code & push.
- Create a pull request.
Thank you for contributing!
Dismake is released under the MIT License. See the LICENSE file for more details.