None
Project description
Introduction to Dismake
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.
☢️ Prerequisites
- Dismake requires Python 3.9 or later versions to work correctly.
- Discord Bot token
🏁 Getting Started with Dismake
Before you start using Dismake, you'll need to create a new Discord application and add a bot to it.
💻 Installing
To install Dismake, use the following command to install it directly from PyPI:
pip install dismake
🤖 Creating a Minimal Discord Bot with 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
from dismake import commands
import typing
app = dismake.Bot(...)
@app.event('ready')
async def ready_event():
print(f"Logged in as {app.user}.")
@app.command(
name="echo",
description="A simple echo command."
)
async def echo_command(
ctx: dismake.Context,
text: typing.Annotated[
str,
commands.Option(name="text", description="Type something"), type=str
]
):
await ctx.respond(f"{text}")
if __name__ == "__main__":
app.run(app="main:app", reload=True)
The code above demonstrates how to use Dismake to create a basic Discord bot that responds to slash commands.
Here's a brief explanation of what each part of the code does:
- The first line imports the Dismake library. Make sure you've installed Dismake before you run the code.
- Next, we create a new instance of the
Dismake.Bot
class, which serves as our connection to Discord. - We register an event using the
Dismake.Bot.event()
decorator. This library provides numerous events, and we use this callback to perform asynchronous operations once the bot is logged in. - We register a slash command using the
Dismake.Bot.command()
decorator. This decorator requires the command's name and description as arguments. - In the function that handles the command, we use the Dismake.Context object to interact with Discord. We take the user's input text and echo it back to them.
- Finally, we use the
app.run()
method to start the bot. We've named our bot app in this example. The second argument,reload=True
, instructs Uvicorn to reload the app automatically when changes are made to the code.
To run the bot, open the terminal, navigate to the directory containing main.py
, and enter the following command:
python main.py
You can now experiment with your basic bot.
✨ Features
- 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
📖 Documentation
For detailed usage and installation instructions, please check out the official Dismake documentation
🏥 Support
If you have any questions or issues with Dismake, please feel free to reach out to us on the Discord server.
🗺️ Roadmap
For details about our roadmap, please check out our Roadmap page.
🤝 Contributing
We welcome contributions from anyone! If you want to contribute to Dismake, please follow these guidelines:
• Contributing to the Documentation
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.
• Contributing to the Dismake Package
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!
🪪 License
Dismake is released under the MIT License. See the LICENSE file for more details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.