Tagsy is a Discord bot designed to enhance server interaction by allowing users to create, retrieve, and manage custom tags. Implemented using the disnake library, Tagsy supports various commands and context menus, making it a versatile tool for server moderation and community engagement.
- Tag Management: Users can add, update, delete, and retrieve tags, which are essentially key-value pairs, to store and share information quickly.
- Development Tools: Special commands for bot owners to manage the bot, including database operations and configuration variable dumps.
- Customizable Command Prefix: The bot's command prefix is customizable, allowing for easy integration into servers with existing bot ecosystems.
- Slash Commands Support: Tagsy utilizes slash commands for an intuitive user experience, ensuring commands are easily discoverable and usable.
- Context Menus: Integrates with Discord's context menus, providing a seamless user interface directly from messages.
To run Tagsy on your server, you need to have Python 3.8 or higher and the following dependencies:
-
Clone this repository to your local machine or server.
-
Install the required dependencies using pip:
pip install -r requirements.txt
-
Create a
.env
file in the root directory of the project and add your Discord bot token and database path:
DISCORD_TOKEN=your_token_here
DB_PATH=path_to_your_database.db
-
Run the bot:
python bot.py
Once the bot is running and invited to your Discord server, you can start creating and managing tags. Here are some of the available commands:
- /add [tag] [message]: Adds a new tag.
- /get [tag]: Retrieves the message associated with a tag.
- /update [tag] [new_message]: Updates the message for an existing tag.
- /remove [tag]: Deletes a tag.
- /getall: Lists all tags available on the server.
For bot owners, additional development commands are available for direct interaction with the database and configuration variables.
Interested in contributing? Great! Here's how you can set up the bot for development and submit your contributions.
We welcome contributions of all kinds from the community! Whether you're looking to add new features, fix bugs, improve documentation, or help with code reviews, there's always a way to contribute. Here are some ways you can get involved:
- Open Issues: If you encounter a bug or have a suggestion for a new feature, please open an issue in the repository. Provide as much detail as you can, including steps to reproduce any bugs.
- Fix existing issues: Existing issues exists to be fixed, heads to issues list, pick the one you want and start coding ! Some issues are opened for newcomers and new developers.
- Review Code: Take a look at pull requests submitted by others and provide feedback. Code reviews are not only helpful for ensuring quality and consistency but also a great way to learn from others.
- Open Pull Requests: Ready to contribute your changes? Submit a pull request! Make sure to describe your changes clearly and link to any relevant issues. Please also ensure your code follows the project's coding standards and passes all tests.
- Fork the repository and clone your fork to your local machine.
- Set up a virtual environment for Python to manage dependencies separately:
python -m venv venv
source venv/bin/activate # On Windows use `venv\Scripts\activate`
- Install the development dependencies:
pip install -r requirements.txt
-
Create a
.env
file in the root directory with the necessary configuration variables:DISCORD_TOKEN=<your_discord_bot_token> DB_PATH=database.db
-
You can obtain a Discord bot token by registering a new application in the Discord Developer Portal at https://discord.com/developers/applications. Navigate to the "Bot" tab and click on "Add Bot".
-
Make your changes. Feel free to add new features, fix bugs, or improve the code.
-
Test your changes thoroughly.
-
Commit your changes and push them to your fork.
-
Submit a pull request with a clear description of the changes you've made.
Please follow our contribution guidelines
Tagsy is released under the MIT License. See the LICENSE file for more details.
- Special thanks to Disnake for the Discord library.