All Projects → gizmo385 → discord.clj

gizmo385 / discord.clj

Licence: MIT license
A Clojure library for creating Discord bots

Programming Languages

clojure
4091 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to discord.clj

Aometry
An awesome multipurpose discord bot build using discord.js v13 with support for slash commands and context menus
Stars: ✭ 51 (+13.33%)
Mutual labels:  discord-api
discord-account-generator
An hcaptcha-solving discord account generator; capable of generating unlocked discord accounts.
Stars: ✭ 61 (+35.56%)
Mutual labels:  discord-api
disml
Pure OCaml bindings to the Discord API. Mirror of Gitlab repo.
Stars: ✭ 36 (-20%)
Mutual labels:  discord-api
Discord-Music-Turret-Bot
A standalone Discord music bot, made with DSharpPlus, using Lavalink.
Stars: ✭ 14 (-68.89%)
Mutual labels:  discord-api
Spacebot
An open-source, multipurpose, configurable discord bot that does it all (that's the plan, at least)
Stars: ✭ 41 (-8.89%)
Mutual labels:  discord-api
drone-discord
Drone plugin for sending message to Discord channel using Webhook
Stars: ✭ 34 (-24.44%)
Mutual labels:  discord-api
slash-commands
slash commands handler to make your bot support slash commands.
Stars: ✭ 59 (+31.11%)
Mutual labels:  discord-api
Foxy
🦊 A very, very cute, multipurpose, multilingual bot for Discord! Making your server cuter -w-
Stars: ✭ 58 (+28.89%)
Mutual labels:  discord-api
library
🐍 A Python library for Discord.
Stars: ✭ 648 (+1340%)
Mutual labels:  discord-api
orca
C Multi-REST API library for Discord, Slack, Reddit, etc.
Stars: ✭ 360 (+700%)
Mutual labels:  discord-api
Discord-Presser-Server-Nuker
Nuke Discord Bot in Js (Beta has arrived)
Stars: ✭ 253 (+462.22%)
Mutual labels:  discord-api
Hurricano
An amazing open-source Discord bot using MongoDB with many features such as a customizable prefix, a reaction menu, music, role requirement giveaways and much more!
Stars: ✭ 97 (+115.56%)
Mutual labels:  discord-api
Discord.CPP
Discord.CPP is a C++ library for interaction with the Discord API.
Stars: ✭ 46 (+2.22%)
Mutual labels:  discord-api
DNS-over-Discord
A 1.1.1.1 DNS resolver built for Discord
Stars: ✭ 228 (+406.67%)
Mutual labels:  discord-api
Diskord
[Mirror of GitLab] A Kotlin client for Discord with a light wrapper on the REST APIs and a simple to use DSL for basic bots.
Stars: ✭ 146 (+224.44%)
Mutual labels:  discord-api
discord-super-utils
A modern python module including many useful features that make discord bot programming extremely easy.
Stars: ✭ 106 (+135.56%)
Mutual labels:  discord-api
Karuma
Karuma is a Discord Bot including Nukes, Raids, Mass DM and other features. Only for educational purposes 🥱🚀
Stars: ✭ 132 (+193.33%)
Mutual labels:  discord-api
Volte
A free, robust, open-source Discord bot written in C# 8 using .NET Core 3.1 and a whole lotta Man Hours.
Stars: ✭ 78 (+73.33%)
Mutual labels:  discord-api
DPP
C++ Discord API Bot Library - D++ is Lightweight and scalable for small and huge bots!
Stars: ✭ 560 (+1144.44%)
Mutual labels:  discord-api
acord
An API wrapper for discord, built using aiohttp and pydantic.
Stars: ✭ 25 (-44.44%)
Mutual labels:  discord-api

discord.clj

Clojars Project

discord.clj is a Clojure wrapper around the Discord APIs. The overall goal of this library to painlessly facilitate the creation of bots and custom bot extensions within Clojure.

Library Philosophy

This library seeks to abstract most of the complexity out of the Discord API and gateway protocols. While many of the underlying implementation protocols are available for extension should the need arise, it is the goal of this library that most things should Just Work™️ out of the box.

Installation

The library is available on Clojars here. You can install it using any of the following methods:

Leiningen/Boot:

[discord.clj "2.0.0"]

Clojure CLI/deps.edn:

discord.clj {:mvn/version "2.0.0"}

Gradle:

compile 'discord.clj:discord.clj:2.0.0'

Maven:

<dependency>
  <groupId>discord.clj</groupId>
  <artifactId>discord.clj</artifactId>
  <version>2.0.0</version>
</dependency>

Quick Start Guide

To get started running a Discord bot, you'll want to do the following:

  1. Create a new application in Discord
  2. In the "bot" settings for your Discord application, you'll want to retrieve your bot token. You'll be placing this in the resources/bot-config.edn file.
  3. If you plan on using slash commands, you'll also want to retrieve the application ID for your bot and store that in the resources/bot-config.edn file as well.
  4. Determine which intents you'll need from the Discord gateway. Discord has a good primer on gateway intents in their documentation. For the time being, a good default for handling messages is:
    [:guilds :guild-messages :direct-messages]
  5. Start your bot with lein run!

At this point, your bot-config.edn file should look similar to this template.

Examples

In addition to the builtin commands, this project also ships with a series of examples that you can include on startup. For example, to include the echo_prefix command example, run the following command within the repo:

lein run -e examples/echo_prefix

Compilation

You can create a standalone JAR file for this by running the following:

$ lein uberjar
$ java -jar ./target/uberjar/discord.clj-2.0.0-standalone.jar

To run the core namespace which contains a basic bot framework, you can run the following:

$ lein run

License

Copyright © 2017-2021 Christopher Chapline

Distributed under the MIT License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].