All Projects → Xh4H → Discord.jl

Xh4H / Discord.jl

Licence: mit
The Julia Discord API Wrapper

Programming Languages

julia
2034 projects

Projects that are alternatives of or similar to Discord.jl

Pycoingecko
Python wrapper for the CoinGecko API
Stars: ✭ 270 (+190.32%)
Mutual labels:  api, wrapper, api-wrapper
Colore
A powerful C# library for Razer Chroma's SDK
Stars: ✭ 121 (+30.11%)
Mutual labels:  api, wrapper, library
Tlaw
The Last API Wrapper: Pragmatic API wrapper framework
Stars: ✭ 112 (+20.43%)
Mutual labels:  api, wrapper, api-wrapper
Jda
Java wrapper for the popular chat & VOIP service: Discord https://discord.com
Stars: ✭ 2,598 (+2693.55%)
Mutual labels:  api, api-wrapper, discord
Aegis.cpp
Discord C++ library for interfacing with the API. Join our server:
Stars: ✭ 198 (+112.9%)
Mutual labels:  api, library, discord
Riot Api Java
Riot Games API Java Library
Stars: ✭ 184 (+97.85%)
Mutual labels:  api, api-wrapper, library
Coinbasepro Csharp
The unofficial .NET/C# client library for the Coinbase Pro/GDAX API
Stars: ✭ 143 (+53.76%)
Mutual labels:  api, wrapper, library
Discordeno
Discord API library for Deno
Stars: ✭ 254 (+173.12%)
Mutual labels:  api, library, discord
Python Poloniex
Poloniex API wrapper for Python 2.7 & 3
Stars: ✭ 557 (+498.92%)
Mutual labels:  api, wrapper, api-wrapper
Logging Log4j2
Apache Log4j 2 is an upgrade to Log4j that provides significant improvements over its predecessor, Log4j 1.x, and provides many of the improvements available in Logback while fixing some inherent problems in Logback's architecture.
Stars: ✭ 1,133 (+1118.28%)
Mutual labels:  api, library
Dimscord
A Discord Bot & REST Library for Nim.
Stars: ✭ 67 (-27.96%)
Mutual labels:  api, discord
Basicbot
A basic example of a Discord Bot written in Python. (discord.py)
Stars: ✭ 73 (-21.51%)
Mutual labels:  api, discord
Best Of Web Python
🏆 A ranked list of awesome python libraries for web development. Updated weekly.
Stars: ✭ 1,118 (+1102.15%)
Mutual labels:  api, library
Adrestia
APIs & SDK for interacting with Cardano.
Stars: ✭ 56 (-39.78%)
Mutual labels:  api, library
Goodreads Api Node
Goodreads API wrapper for node.js
Stars: ✭ 72 (-22.58%)
Mutual labels:  api, api-wrapper
Webdriver Rust
Library implementing the wire protocol for the W3C WebDriver standard.
Stars: ✭ 56 (-39.78%)
Mutual labels:  api, library
Libgui
Buttons & Co
Stars: ✭ 78 (-16.13%)
Mutual labels:  api, library
Spotify Web Api Kotlin
Spotify Web API wrapper for Kotlin/JVM, Kotlin/Android, Kotlin/JS, and Kotlin/Native. Includes a Spotify Web Playback SDK wrapper for Kotlin/JS, and a spotify-auth wrapper for Kotlin/Android
Stars: ✭ 86 (-7.53%)
Mutual labels:  api, wrapper
Hadotnet
🏡 A .NET Standard library for Home Assistant.
Stars: ✭ 52 (-44.09%)
Mutual labels:  api, library
Tortilla
Wrapping web APIs made easy.
Stars: ✭ 1,215 (+1206.45%)
Mutual labels:  api, wrapper

Discord.jl

Documentation Build Status Information
Docs Build Status Discord License

Discord.jl is the solution for creating Discord bots with the Julia programming language.

  • Strong, expressive type system: No fast-and-loose JSON objects here.
  • Non-blocking: API calls return immediately and can be awaited when necessary.
  • Simple: Multiple dispatch allows for a small, elegant core API.
  • Fast: Julia is fast like C but still easy like Python.
  • Robust: Resistant to bad event handlers and/or requests. Errors are introspectible for debugging.
  • Lightweight: Cache what is important but shed dead weight with TTL.
  • Gateway independent: Ability to interact with Discord's API without establishing a gateway connection.
  • Distributed: Process-based sharding requires next to no intervention and you can even run shards on separate machines.

Installation

First install Julia

Discord.jl is not yet released. Add it from the Git repository with the following command:

# Enter ']' from the REPL to enter Pkg mode.
pkg> add https://github.com/Xh4H/Discord.jl

The above command will also update all of your dependencies, and store the configurations in ~/.julia.

Example

# Import Discord.jl.
using Discord
# Create a client.
c = Client("token"; presence=(game=(name="with Discord.jl", type=AT_GAME),))

# Create a handler for the MessageCreate event.
function handler(c::Client, e::MessageCreate)
    # Display the message contents.
    println("Received message: $(e.message.content)")
    # Add a reaction to the message.
    create(c, Reaction, e.message, '👍')
end

# Add the handler.
add_handler!(c, MessageCreate, handler)
# Log in to the Discord gateway.
open(c)
# Wait for the client to disconnect.
wait(c)

For further examples, guides and reference please refer to the documentation linked above.

Contributing

Pull requests are welcome! In most cases, it will be helpful to discuss the change you would like to make on Discord before diving in too deep.

Credits

Big thanks to christopher-dG for developing this project with me, and also TheOnlyArtz for initially starting up this repository with me.

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].