🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
DemoInstallSign in
Socket

com.jessecorbett:diskord-core-js

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

com.jessecorbett:diskord-core-js

A Kotlin wrapper around the Discord API

5.5.0
Source
Maven
Version published
Maintainers
1
Source
Readme not found for selected version
Showing the latest (latest)

Diskord - A Kotlin Discord SDK

Maven Central Discord

A multiplatform Kotlin client for Discord bots with a simple and concise DSL supporting JVM and NodeJS

Built 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

Documentation available here

Using Diskord? Drop by our discord server

How do I import this?

It is strongly recommended to use Gradle version 7 or higher

// Kotlin build.gradle.kts
repositories {
    mavenCentral()
}

dependencies {
    implementation("com.jessecorbett:diskord-bot:5.5.1")
}

Note: The diskord-bot artifact bundles org.slf4j:slf4j-simple to provide basic logging to STDOUT with no configuration. This can be excluded in favor of your own slf4j logger using gradle exclusion:

// Kotlin build.gradle.kts
configurations {
  implementation {
    exclude("org.slf4j", "slf4j-simple")
  }
}

The library is packaged into two artifacts.

diskord-core is the low level implementation of the Discord API. Read more

diskord-bot provides an easier to use API for common bot functions. Read more

How do I use this?

Dokka documentation

For an example project you can easily clone to get started, look at the diskord-starter repo.

There are also a collection of examples in the diskord-examples repo.

Simple Example

import com.jessecorbett.diskord.bot.*
import com.jessecorbett.diskord.util.*

suspend fun main() {
    bot(TOKEN) {
        // Generic hook set for all events
        events {
            onGuildMemberAdd {
                channel(WELCOME_CHANNEL_ID).sendMessage("Welcome to the server, ${it.user?.username}!")
            }
        }
      
        // Modern interactions API for slash commands, user commands, etc
        interactions {
            slashCommand("echo", "Makes the bot say something") {
                val message by stringParameter("message", "The message", optional = true)
                callback {
                    respond {
                        content = if (message != null) {
                            message
                        } else {
                            "The message was null, because it is optional"
                        }
                    }
                }
            }

            commandGroup("emoji", "Send an emoji to the server", guildId = "424046347428167688") {
                subgroup("smile", "Smile emoji") {
                    slashCommand("slight", "A slight smile emoji") {
                        callback {
                            respond {
                                content = "🙂"
                            }
                        }
                    }
                }

                slashCommand("shh", "The shh emoji") {
                    val secret by stringParameter("secret", "Send the emoji secretly")
                    callback {
                        respond {
                            content = "🤫"
                            if (secret) {
                                ephemeral
                            }
                        }
                    }
                }
            }
        }
      
        // The old-fashioned way, it uses messages, such as .ping, for commands
        classicCommands("!") {
            command("ping") {
                it.respond("pong")
            }
        }
    }
}

FAQ

  • Does this support voice chat?
    • No, voice chat is not supported at this time. If you need it I recommend checking out another SDK
  • Can I contact you to ask a question/contribute to the project/report a bug?
  • What if I'm hip and cool, and I want to use a newer more unstable exciting version?

FAQs

Package last updated on 01 Aug 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts