|
||
---|---|---|
example | ||
.travis.yml | ||
discord.go | ||
endpoints.go | ||
LICENSE | ||
README.md | ||
restapi.go | ||
structs.go | ||
util.go | ||
voice.go | ||
wsapi.go |
DiscordGo provides low level bindings for Discord in the Go Programming Language (Golang).
- See dgVoice for experimental voice support.
Join #go_discordgo Discord API channel on Discord for support.
Usage Examples
See the example sub-folder for examples. Each example accepts a username and password as a CLI argument when run.
Documentation
NOTICE : This library and the Discord API are unfinished. Because of that there may be major changes to library functions, constants, and structures.
What Works
Current package provides a low level direct mapping to the majority of Discord REST and Websock API.
- Login/Logout
- Open/Close Websocket and listen for events.
- Accept/Create/Delete Invites
- Get User details (Name, ID, Settings, etc)
- List/Create User Channels (Private Message Channels)
- List/Create Guilds
- List/Create Guild Channels
- List Guild Members
- Receive/Send Messages to Channels
What's Unfinished
- Make changes as needed to pass GoLint, GoVet, GoCyclo, etc. (goreportcard.com)
- Editing User Profile settings
- Permissions related functions.
- Functions for Maintenance Status
- Finish Voice support.
- Add a higher level interface with user friendly helper functions.
Other Discord APIs
Go: gdraynz/go-discord, Xackery/discord, Nerketur/discordapi
.NET: RogueException/Discord.Net, Luigifan/DiscordSharp
Java: nerd/Discord4J
Node.js: izy521/discord.io, hydrabolt/discord.js, qeled/discordie,
PHP: Cleanse/discord-hypertext, teamreflex/DiscordPHP
Python: Rapptz/discord.py
Ruby: meew0/discordrb
Scala: eaceaser/discord-akka
Rust: SpaceManiac/discord-rs