{"id":13410534,"url":"https://github.com/kordlib/kord","last_synced_at":"2025-05-14T11:08:50.399Z","repository":{"id":36994304,"uuid":"202856399","full_name":"kordlib/kord","owner":"kordlib","description":" Idiomatic Kotlin Wrapper for The Discord API","archived":false,"fork":false,"pushed_at":"2025-04-24T00:35:27.000Z","size":417204,"stargazers_count":969,"open_issues_count":64,"forks_count":83,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-04-24T01:24:20.947Z","etag":null,"topics":["discord","discord-api","discord-gateway","discord-library","hacktoberfest","kotlin","kotlin-coroutines","kotlin-js","kotlin-jvm","kotlin-library"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","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/kordlib.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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,"zenodo":null}},"created_at":"2019-08-17T08:36:48.000Z","updated_at":"2025-04-22T01:11:26.000Z","dependencies_parsed_at":"2023-09-22T02:32:29.546Z","dependency_job_id":"c4a6da64-6071-4de3-ada5-b7cf032e0d00","html_url":"https://github.com/kordlib/kord","commit_stats":null,"previous_names":[],"tags_count":102,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kordlib%2Fkord","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kordlib%2Fkord/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kordlib%2Fkord/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kordlib%2Fkord/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kordlib","download_url":"https://codeload.github.com/kordlib/kord/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254129482,"owners_count":22019628,"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-api","discord-gateway","discord-library","hacktoberfest","kotlin","kotlin-coroutines","kotlin-js","kotlin-jvm","kotlin-library"],"created_at":"2024-07-30T20:01:07.526Z","updated_at":"2025-05-14T11:08:50.350Z","avatar_url":"https://github.com/kordlib.png","language":"Kotlin","funding_links":[],"categories":["API Libraries","Kotlin","Libraries"],"sub_categories":["JVM","Kotlin"],"readme":"# Kord\n\n[![Discord](https://img.shields.io/discord/556525343595298817.svg?color=\u0026label=Kord\u0026logo=discord\u0026style=for-the-badge)](https://discord.gg/6jcx5ev)\n[![Download](https://img.shields.io/maven-central/v/dev.kord/kord-core.svg?label=Maven%20Central\u0026style=for-the-badge)](https://central.sonatype.com/artifact/dev.kord/kord-core)\n[![Github CI status (branch)](https://img.shields.io/github/actions/workflow/status/kordlib/kord/deployment-ci.yml?branch=main\u0026label=CI\u0026style=for-the-badge)]()\n\nKord is a [coroutine-based](https://kotlinlang.org/docs/reference/coroutines-overview.html), modularized implementation\nof the Discord API, written 100% in [Kotlin](https://kotlinlang.org/).\n\nIf you have any feedback, we'd love to hear it, hit us up on discord or write up an issue if you have any suggestions!\n\n## Why use Kord\n\nKord was created as an answer to the frustrations of writing Discord bots with other JVM libraries, which either use\nthread-blocking code or verbose and scope restrictive reactive systems. We believe an API written from the ground up in\nKotlin with coroutines can give you the best of both worlds: The conciseness of imperative code with the concurrency of\nreactive code.\n\nAside from coroutines, we also wanted to give the user full access to lower level APIs. Sometimes you have to do some\nunconventional things, and we want to allow you to do those in a safe and supported way.\n\n## Status of Kord\n\n* [X] [Discord Gateway](gateway)\n* [x] [Discord Rest API](rest)\n* [X] [High level abstraction + caching](core)\n* [X] [Discord Voice](voice)\n* [ ] Support for multiple processes [#7](https://github.com/kordlib/kord/issues/7)\n\nRight now, Kord *should* provide a full mapping of the non-voice API on Kotlin/JVM and Kotlin/JS and an experimental\nmapping of the Voice API on Kotlin/JVM\n\n## Documentation\n\n* [Dokka docs](https://kordlib.github.io/kord/)\n* [Wiki](https://github.com/kordlib/kord/wiki)\n\n## Modules\n\n| Module                   | Docs                                                    | Artifact          | JVM | JS | Native² |\n|--------------------------|---------------------------------------------------------|-------------------|-----|----|---------|\n| [common](common)         | [common](https://kordlib.github.io/kord/common)         | `kord-common`¹    | ✅   | ✅  | ❌       |\n| [rest](rest)             | [rest](https://kordlib.github.io/kord/rest)             | `kord-rest`¹      | ✅   | ✅  | ❌       |\n| [gateway](gateway)       | [gateway](https://kordlib.github.io/kord/gateway)       | `kord-gateway`¹   | ✅   | ✅  | ❌       |\n| [core](core)             | [core](https://kordlib.github.io/kord/core)             | `kord-core`¹      | ✅   | ✅  | ❌       |\n| [voice](voice)           | [voice](https://kordlib.github.io/kord/voice)           | `kord-voice`      | ✅   | ❌³ | ❌       |\n| [core-voice](core-voice) | [core-voice](https://kordlib.github.io/kord/core-voice) | `kord-core-voice` | ✅   | ❌  | ❌       |\n\n¹ These artifacts only supports Gradle Version 5.3 or higher, for older Gradle versions and Maven please append `-jvm`  \n² For Native Support please see #69  \n³ For Voice JS please see #69\n\n## Installation\n\nReplace `{version}` with the latest version number on maven central.\n\nFor Snapshots replace `{version}` with `{branch}-SNAPSHOT`\n\ne.g: `feature-amazing-thing-SNAPSHOT` for the branch `feature/amazing-thing`\n\nFor Snapshots for the branch `main` replace `{version}` with `{nextPlannedVersion}-SNAPSHOT` (see `nextPlannedVersion`\nin [`gradle.properties`](gradle.properties))\n\n[![Download](https://img.shields.io/maven-central/v/dev.kord/kord-core.svg?label=Maven%20Central\u0026style=for-the-badge)](https://central.sonatype.com/artifact/dev.kord/kord-core)\n\n### Gradle (Kotlin)\n\n```kotlin\nrepositories {\n    mavenCentral()\n    // Kord Snapshot Repositories (optional, choose one of these):\n    maven(\"https://repo.kord.dev/snapshots\")\n    maven(\"https://oss.sonatype.org/content/repositories/snapshots\")\n}\n\ndependencies {\n    implementation(\"dev.kord:kord-core:{version}\")\n}\n```\n\n### Gradle (Groovy)\n\n```groovy\nrepositories {\n    mavenCentral()\n    // Kord Snapshot Repositories (optional, choose one of these):\n    maven {\n        url \"https://repo.kord.dev/snapshots\"\n    }\n    maven {\n        url \"https://oss.sonatype.org/content/repositories/snapshots\"\n    }\n}\n\ndependencies {\n    implementation(\"dev.kord:kord-core:{version}\")\n}\n```\n\n### Maven\n\n##### Kord Snapshot Repositories (optional, choose one of these):\n\n```xml\n\u003crepository\u003e\n    \u003cid\u003esnapshots-repo\u003c/id\u003e\n    \u003curl\u003ehttps://repo.kord.dev/snapshots\u003c/url\u003e\n    \u003creleases\u003e\n        \u003cenabled\u003efalse\u003c/enabled\u003e\n    \u003c/releases\u003e\n    \u003csnapshots\u003e\n        \u003cenabled\u003etrue\u003c/enabled\u003e\n    \u003c/snapshots\u003e\n\u003c/repository\u003e\n\n\u003crepository\u003e\n    \u003cid\u003esnapshots-repo\u003c/id\u003e\n    \u003curl\u003ehttps://oss.sonatype.org/content/repositories/snapshots\u003c/url\u003e\n    \u003creleases\u003e\n        \u003cenabled\u003efalse\u003c/enabled\u003e\n    \u003c/releases\u003e\n    \u003csnapshots\u003e\n        \u003cenabled\u003etrue\u003c/enabled\u003e\n    \u003c/snapshots\u003e\n\u003c/repository\u003e\n```\n\n---\n\n```xml\n\u003cdependency\u003e\n    \u003cgroupId\u003edev.kord\u003c/groupId\u003e\n    \u003cartifactId\u003ekord-core-jvm\u003c/artifactId\u003e\n    \u003cversion\u003e{version}\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\n## FAQ\n\n## Will you support kotlin multi-platform\n\nCurrently we're supporting both Kotlin/JVM and Kotlin/JS for the majority of our API, for more information check\n[Modules](#modules) and #69\n\n## When will you document your code?\n\nYes.\n\n# This project is supported by JetBrains\n\n[![JetBrains Logo (Main) logo](https://resources.jetbrains.com/storage/products/company/brand/logos/jetbrains.svg)](https://jb.gg/OpenSourceSupport)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkordlib%2Fkord","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkordlib%2Fkord","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkordlib%2Fkord/lists"}