{"id":31063221,"url":"https://github.com/jessecorbett/diskord","last_synced_at":"2025-09-15T13:03:50.859Z","repository":{"id":29652189,"uuid":"122362551","full_name":"JesseCorbett/diskord","owner":"JesseCorbett","description":"A Kotlin client for Discord with a light wrapper on the REST APIs and a simple to use DSL for basic bots.","archived":false,"fork":false,"pushed_at":"2025-04-12T23:19:07.000Z","size":2375,"stargazers_count":177,"open_issues_count":2,"forks_count":19,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-09-15T13:02:18.558Z","etag":null,"topics":["discord","discord-api","discord-api-wrapper","discord-bot","diskord","kotlin","library"],"latest_commit_sha":null,"homepage":"https://gitlab.com/diskord/diskord","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JesseCorbett.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2018-02-21T16:35:41.000Z","updated_at":"2025-09-14T15:29:03.000Z","dependencies_parsed_at":"2024-05-18T00:27:59.220Z","dependency_job_id":"beff2fc7-c027-414e-9399-4da26f84bb2d","html_url":"https://github.com/JesseCorbett/diskord","commit_stats":null,"previous_names":[],"tags_count":76,"template":false,"template_full_name":null,"purl":"pkg:github/JesseCorbett/diskord","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JesseCorbett%2Fdiskord","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JesseCorbett%2Fdiskord/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JesseCorbett%2Fdiskord/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JesseCorbett%2Fdiskord/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JesseCorbett","download_url":"https://codeload.github.com/JesseCorbett/diskord/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JesseCorbett%2Fdiskord/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275260485,"owners_count":25433379,"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","status":"online","status_checked_at":"2025-09-15T02:00:09.272Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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-api-wrapper","discord-bot","diskord","kotlin","library"],"created_at":"2025-09-15T13:02:01.189Z","updated_at":"2025-09-15T13:03:50.850Z","avatar_url":"https://github.com/JesseCorbett.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Diskord - A Kotlin Discord SDK\n[![Maven Central](https://img.shields.io/maven-central/v/com.jessecorbett/diskord-bot.svg?label=Maven%20Central)](https://search.maven.org/search?q=g:%22com.jessecorbett%22%20AND%20a:%22diskord-bot%22)\n[![Discord](https://img.shields.io/discord/424046347428167688.svg?style=flat-square)](https://discord.gg/UPTWsZ5)\n\nA multiplatform Kotlin client for Discord bots with a simple and concise DSL supporting JVM and NodeJS\n\nBuilt as a lean client using coroutines that gets the intricacies of rate limits, async, and data models out of your way in a clean and easy to use SDK\n\n[Documentation available here](https://diskord.gitlab.io/diskord/)\n\nUsing Diskord? Drop by our [discord server](https://discord.gg/UPTWsZ5)\n\n## How do I import this?\n\nIt is strongly recommended to use Gradle version 7 or higher\n\n```kotlin\n// Kotlin build.gradle.kts\nrepositories {\n    mavenCentral()\n}\n\ndependencies {\n    implementation(\"com.jessecorbett:diskord-bot:5.5.1\")\n}\n```\n\nNote: The `diskord-bot` artifact bundles `org.slf4j:slf4j-simple` to provide basic logging to STDOUT with no\nconfiguration. This can be excluded in favor of your own slf4j logger using gradle exclusion:\n\n```kotlin\n// Kotlin build.gradle.kts\nconfigurations {\n  implementation {\n    exclude(\"org.slf4j\", \"slf4j-simple\")\n  }\n}\n```\n\nThe library is packaged into two artifacts.\n\n`diskord-core` is the low level implementation of the Discord API.\n[Read more](https://gitlab.com/diskord/diskord/-/blob/master/diskord-core/README.md)\n\n`diskord-bot` provides an easier to use API for common bot functions.\n[Read more](https://gitlab.com/diskord/diskord/-/blob/master/diskord-bot/README.md)\n\n## How do I use this?\n\n[Dokka documentation](https://diskord.gitlab.io/diskord/)\n\nFor an example project you can easily clone to get started, look at the [diskord-starter repo.](https://gitlab.com/diskord/diskord-starter)\n\nThere are also a collection of examples in the [diskord-examples repo.](https://gitlab.com/diskord/diskord-examples)\n\n### Simple Example\n\n```kotlin\nimport com.jessecorbett.diskord.bot.*\nimport com.jessecorbett.diskord.util.*\n\nsuspend fun main() {\n    bot(TOKEN) {\n        // Generic hook set for all events\n        events {\n            onGuildMemberAdd {\n                channel(WELCOME_CHANNEL_ID).sendMessage(\"Welcome to the server, ${it.user?.username}!\")\n            }\n        }\n      \n        // Modern interactions API for slash commands, user commands, etc\n        interactions {\n            slashCommand(\"echo\", \"Makes the bot say something\") {\n                val message by stringParameter(\"message\", \"The message\", optional = true)\n                callback {\n                    respond {\n                        content = if (message != null) {\n                            message\n                        } else {\n                            \"The message was null, because it is optional\"\n                        }\n                    }\n                }\n            }\n\n            commandGroup(\"emoji\", \"Send an emoji to the server\", guildId = \"424046347428167688\") {\n                subgroup(\"smile\", \"Smile emoji\") {\n                    slashCommand(\"slight\", \"A slight smile emoji\") {\n                        callback {\n                            respond {\n                                content = \"🙂\"\n                            }\n                        }\n                    }\n                }\n\n                slashCommand(\"shh\", \"The shh emoji\") {\n                    val secret by stringParameter(\"secret\", \"Send the emoji secretly\")\n                    callback {\n                        respond {\n                            content = \"🤫\"\n                            if (secret) {\n                                ephemeral\n                            }\n                        }\n                    }\n                }\n            }\n        }\n      \n        // The old-fashioned way, it uses messages, such as .ping, for commands\n        classicCommands(\"!\") {\n            command(\"ping\") {\n                it.respond(\"pong\")\n            }\n        }\n    }\n}\n```\n\n\n## FAQ\n* Does this support voice chat?\n    * No, voice chat is not supported at this time. If you need it I recommend checking out another SDK\n* Can I contact you to ask a question/contribute to the project/report a bug?\n    * [We've got a discord server for just that](https://discord.gg/UPTWsZ5)\n* What if I'm hip and cool, and I want to use a newer more ~~unstable~~ exciting version?\n    * You can use our development versions by using the snapshot repository\n    * Include https://oss.sonatype.org/content/repositories/snapshots/ in your gradle repositories\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjessecorbett%2Fdiskord","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjessecorbett%2Fdiskord","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjessecorbett%2Fdiskord/lists"}