{"id":22796290,"url":"https://github.com/kaktushose/jda-commands","last_synced_at":"2025-04-06T20:09:55.844Z","repository":{"id":37953845,"uuid":"289735645","full_name":"Kaktushose/jda-commands","owner":"Kaktushose","description":"A declarative, annotation driven interaction framework for JDA","archived":false,"fork":false,"pushed_at":"2025-03-21T20:19:31.000Z","size":10315,"stargazers_count":75,"open_issues_count":3,"forks_count":13,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-03-30T19:05:36.551Z","etag":null,"topics":["commands","discord","framework","hacktoberfest","java","jda","utility"],"latest_commit_sha":null,"homepage":"https://kaktushose.github.io/jda-commands/wiki","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Kaktushose.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":"2020-08-23T17:35:27.000Z","updated_at":"2025-03-21T20:17:28.000Z","dependencies_parsed_at":"2024-02-11T14:25:37.799Z","dependency_job_id":"3765a12a-2f0f-47c1-9260-08e17e7a9693","html_url":"https://github.com/Kaktushose/jda-commands","commit_stats":{"total_commits":414,"total_committers":10,"mean_commits":41.4,"dds":0.07246376811594202,"last_synced_commit":"0c6f476bc1fe65daa2aa1411606ecffe93042232"},"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kaktushose%2Fjda-commands","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kaktushose%2Fjda-commands/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kaktushose%2Fjda-commands/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kaktushose%2Fjda-commands/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Kaktushose","download_url":"https://codeload.github.com/Kaktushose/jda-commands/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247543591,"owners_count":20955865,"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":["commands","discord","framework","hacktoberfest","java","jda","utility"],"created_at":"2024-12-12T05:11:49.246Z","updated_at":"2025-04-06T20:09:55.770Z","avatar_url":"https://github.com/Kaktushose.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![JDA-Version](https://img.shields.io/badge/JDA%20Version-5.3.0-important)](https://github.com/DV8FromTheWorld/JDA#download)\n[![Generic badge](https://img.shields.io/badge/Download-4.0.0--beta.5-green.svg)](https://github.com/Kaktushose/jda-commands/releases/latest)\n[![Java CI](https://github.com/Kaktushose/jda-commands/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/Kaktushose/jda-commands/actions/workflows/ci.yml)\n[![Release Deployment](https://github.com/Kaktushose/jda-commands/actions/workflows/deploy.yml/badge.svg)](https://github.com/Kaktushose/jda-commands/actions/workflows/deploy.yml)\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/f2b4367f6d0f42d89b7e51331f3ce299)](https://app.codacy.com/gh/Kaktushose/jda-commands/dashboard?utm_source=gh\u0026utm_medium=referral\u0026utm_content=\u0026utm_campaign=Badge_grade)\n[![license-shield](https://img.shields.io/badge/License-Apache%202.0-lightgrey.svg)]()\n\n# JDA-Commands\n\nA lightweight, easy-to-use command framework for building Discord bots\nwith [JDA](https://github.com/DV8FromTheWorld/JDA) with full support for interactions. JDA-Commands goal is to remove\nany boilerplate code, so you can focus solely on the business logic of your bot - writing bots has never been easier!\n\n## Features\n\n- Simple and intuitive syntax following an annotation-driven and declarative style\n\n\n- Built-in support for slash commands, components, context menus and modals\n\n\n- Automatic and customizable type adapting and constraint validation of parameters\n\n\n- Expandable executing chain (Middleware API)\n\n\n- Multithreaded event handling using VirtualThreads\n\nIf you want to learn more, go check out the [Wiki](https://kaktushose.github.io/jda-commands/wiki/) or the [Javadocs](https://kaktushose.github.io/jda-commands/javadocs/latest/).\n\n## Example\n\n```java\n@Interaction\npublic class CookieClicker {\n\n    private int count;\n\n    @Command(value = \"cookie clicker\", desc = \"Play cookie clicker\")\n    public void onClicker(CommandEvent event) {\n        event.with().components(\"onCookie\", \"onReset\").reply(\"You've got %s cookie(s)!\", count);\n    }\n\n    @Button(value = \"Collect\", emoji = \"🍪\", style = ButtonStyle.SUCCESS)\n    public void onCookie(ComponentEvent event) {\n        count++;\n        event.reply(\"You've got %s cookie(s)!\", count);\n    }\n\n    @Button(value = \"Reset\", emoji = \"🔄\", style = ButtonStyle.DANGER)\n    public void onReset(ComponentEvent event) {\n        count = 0;\n        event.reply(\"You've got %s cookie(s)!\", count);\n    }\n}\n```\n\n---\n\n## Download\n\nYou can download the latest version [here](https://github.com/Kaktushose/jda-commands/releases/latest).\n### Maven\n```xml\n\u003cdependency\u003e\n   \u003cgroupId\u003eio.github.kaktushose\u003c/groupId\u003e\n   \u003cartifactId\u003ejda-commands\u003c/artifactId\u003e\n   \u003cversion\u003e4.0.0-beta.5\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n### Gradle\n```groovy\nrepositories {\n   mavenCentral()\n}\ndependencies {\n   implementation(\"io.github.kaktushose:jda-commands:4.0.0-beta.5\")\n}\n```\n\n## Contributing\n\nIf you think that something is missing, and you want to add it yourself, feel free to open a pull request. Please consider opening an issue\nfirst, so we can discuss if your changes fit to the framework. Also check out the [project board](https://github.com/users/Kaktushose/projects/1)\nto see what we already planned for future releases.\n\nSpecial thanks to all contributors, especially to [@Goldmensch](https://github.com/Goldmensch) and [@lus](https://github.com/lus) \u003c3\n\n[![Contributors Display](https://badges.pufler.dev/contributors/Kaktushose/jda-commands?size=50\u0026padding=5\u0026perRow=10\u0026bots=false)]([https://badges.pufler.dev](https://github.com/Kaktushose/jda-commands/graphs/contributors))\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkaktushose%2Fjda-commands","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkaktushose%2Fjda-commands","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkaktushose%2Fjda-commands/lists"}