{"id":18732339,"url":"https://github.com/minusw/km-toolbox","last_synced_at":"2026-05-16T13:02:36.543Z","repository":{"id":259270317,"uuid":"862786223","full_name":"MinusW/KM-ToolBox","owner":"MinusW","description":"Toolbox for KM wrapped in a discord bot","archived":false,"fork":false,"pushed_at":"2025-01-08T08:12:56.000Z","size":108,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-19T05:43:07.697Z","etag":null,"topics":["discord","discord-bot","kingdom-maker","ruby"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MinusW.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-25T07:28:51.000Z","updated_at":"2024-10-03T06:37:26.000Z","dependencies_parsed_at":"2024-11-25T20:25:24.792Z","dependency_job_id":"4399e307-12a0-4d0c-9a6a-5326a20ba4c5","html_url":"https://github.com/MinusW/KM-ToolBox","commit_stats":null,"previous_names":["minusw/km-toolbox"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MinusW%2FKM-ToolBox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MinusW%2FKM-ToolBox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MinusW%2FKM-ToolBox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MinusW%2FKM-ToolBox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MinusW","download_url":"https://codeload.github.com/MinusW/KM-ToolBox/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239605123,"owners_count":19666998,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["discord","discord-bot","kingdom-maker","ruby"],"created_at":"2024-11-07T15:05:29.512Z","updated_at":"2026-05-16T13:02:36.536Z","avatar_url":"https://github.com/MinusW.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# **KM ToolBox**\n\nA Ruby-based Discord bot, **KM ToolBox**, designed for *Kingdom Maker* players. This bot provides essential utilities like tracking server refreshes, managing nobles, calculating building and upgrade costs, and organizing private groups within Discord.\n\n---\n\n## **Table of Contents**\n1. [About the Project](#about-the-project)\n2. [Features](#features)\n3. [Commands](#commands)\n4. [Installation](#installation)\n5. [Contributing](#contributing)\n6. [Commit Message Conventions](#commit-message-conventions)\n7. [License](#license)\n8. [Acknowledgments](#acknowledgments)\n\n---\n\n## **About the Project**\n\n**KM ToolBox** is a tool for *Kingdom Maker* players, enabling them to track in-game activities, manage groups, calculate upgrade costs, and more. The bot leverages CSV files to store necessary data, avoiding the need for complex databases.\n\n---\n\n## **Features**\n- **Server Refresh Reports**: Keep track of Kingdom Maker server refreshes (like store and refinery updates).\n- **Noble Talent Management**: Calculate noble talent and potential.\n- **Group Management**: Create, manage, and delete private group channels.\n- **Building Cost Calculations**: Calculate building upgrade costs from any level.\n- **Noble Upgrade Costs**: Calculate the cost of upgrading nobles through different levels.\n- **Report System**: Players can report bugs or suggest new features.\n\n---\n\n## **Commands**\n\n### **/serverrefresh**\n- **Description**: Report a Kingdom Maker server refresh (store or refinery). If 5 users report the refresh, the bot announces it to the server.\n- **Usage**: `/serverrefresh`\n\n### **/noble {action} [role] [level/startLevel?] [endLevel?]**\n- **Description**: Manage noble talents and cost evaluations. Available actions are: `{talent}`, `{cost}`.\n  - `{talent}`: Evaluate a noble's talent and potential at a specific level. Defaults to level 1 if no level is provided.\n  - `{cost}`: Calculate the cost to upgrade a noble from one level to another. Defaults to levels 1 and 110 if not specified.\n- **Usage**:\n  - `/noble talent [role] [level?]` – Evaluate the noble's talent at the given level (defaults to level 1).\n  - `/noble cost [role] [startLevel?] [endLevel?]` – Calculate the cost to upgrade a noble from one level to another (defaults to 1 and 110).\n\n### **/group {action} [groupName?] [People?]**\n- **Description**: Manage group channels. Available actions are: `{create}`, `{delete}`, `{add}`, and `{kick}`.\n- **Usage**:\n  - `/group create [groupName] [People]` – Create a new group with up to 5 members.\n  - `/group delete` – Delete the current group channel.\n  - `/group add [Person]` – Add a new member to the group.\n  - `/group kick [Person]` – Remove a member from the group.\n  - `/group leave` – Leave the group.\n\n### **/clear [number/all]**\n- **Description**: Delete a specified number of messages or all messages in a private chat.\n- **Usage**: `/clear [number/all]`\n\n### **/buildcost [buildings] [startLevel?] [endLevel?]**\n- **Description**: Calculate the cost to upgrade a building from one level to another. Defaults to levels 1 and 40 if not specified. Building field defaults to all if not specified.\n- **Usage**: `/buildcost [building] [startLevel?] [endLevel?]`\n\n### **/temple [startLevel?] [endLevel?]**\n- **Description**: Calculate the cost to upgrade the temple from one level to another. Defaults to levels 0 and 50 if not specified.\n- **Usage**: `/temple [startLevel?] [endLevel?]`\n\n### **/trait [trait name]**\n- **Description**: Displays the stats for each level of a given trait and provides an opinion on the trait's usefulness.\n- **Usage**: `/trait [trait name]`\n\n### **/TOTD [tip]**\n- **Description**: Submit a Tip of the Day (TOTD) for review by the staff. If approved, the tip will be shown to the community.\n- **Usage**: `/TOTD [tip]`\n\n### **/report [type] [message]**\n- **Description**: Report a bug or suggest a feature.\n- **Usage**: `/report [type] [message]` (where `type` can be either `bug` or `feature`)\n\n### **/contribute**\n- **Description**: Get information on how to contribute to the bot's development.\n- **Usage**: `/contribute`\n\n### **/help**\n- **Description**: Display the list of all available commands.\n- **Usage**: `/help`\n\n---\n\n## **Installation**\n\n### **Requirements**\n- Ruby 2.7+\n- `discordrb` gem\n\n### **Setup**\n1. Clone the repository:\n   ```bash\n   git clone https://github.com/MinusW/KM-ToolBox.git\n   ```\n2. Install the necessary gems:\n   ```bash\n   bundle install\n   ```\n3. Create a `.env` file and add your Discord bot token:\n   ```bash\n   DISCORD_TOKEN=your_discord_token_here\n   ```\n4. Run main.rb:\n   ```bash\n   ruby main.rb\n   ```\n   \n---\n\n## **Contributing**\n\nWe welcome contributions! Here's how you can help:\n\n1. Fork the repository.\n2. Create a new feature branch (`git checkout -b feature/new-feature`).\n3. Commit your changes (`git commit -m 'Add new feature'`).\n4. Push to your branch (`git push origin feature/new-feature`).\n5. Open a Pull Request.\n\nMake sure your code is either well-documented or has self-explaining code and is thoroughly tested.\n\n---\n\n## **Commit Message Conventions**\n\nWe follow the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) specification:\n\n- **Types**:\n  - `feat`: A new feature.\n  - `fix`: A bug fix.\n  - `docs`: Changes to documentation.\n  - `style`: Code formatting changes (no logic changes).\n  - `refactor`: Code restructuring without changing behavior.\n  - `test`: Adding or fixing tests.\n  - `chore`: Any unwanted task.\n\n**Example**:\n```\nfeat(commands): add group management commands\nfix(serverrefresh): correct logic for server refresh announcements\ndocs: updated documentation\n```\n\n---\n\n## **License**\n\nThis project is licensed under the MIT License. See the [`LICENSE`](https://github.com/MinusW/KM-ToolBox/blob/main/LICENSE) file for more details.\n\n---\n\n## **Acknowledgments**\n\n- **Global Worldwide** for developing the Kingdom Maker that we know, and providing crucial information for KM ToolBox.\n- **discordrb** for providing a fantastic Ruby API for Discord.\n- The *Kingdom Maker* community for support and feedback.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fminusw%2Fkm-toolbox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fminusw%2Fkm-toolbox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fminusw%2Fkm-toolbox/lists"}