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
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:
import com.jessecorbett.diskord.bot.*
import com.jessecorbett.diskord.util.*
suspendfunmain() {
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?
We found that com.jessecorbett:diskord-core-js demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago.It has 0 open source maintainers collaborating on the project.
Package last updated on 01 Aug 2024
Did you know?
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.
Socket’s Threat Research Team has uncovered 60 npm packages using post-install scripts to silently exfiltrate hostnames, IP addresses, DNS servers, and user directories to a Discord-controlled endpoint.