88 lines
3.4 KiB
Markdown
88 lines
3.4 KiB
Markdown
Discordgo [](https://godoc.org/github.com/bwmarrin/discordgo) [](http://goreportcard.com/report/bwmarrin/discordgo) [](https://travis-ci.org/bwmarrin/discordgo)
|
|
====
|
|
|
|
Discordgo is a [Go](https://golang.org/) package that provides low level
|
|
bindings to the [Discord](https://discordapp.com/) chat client API.
|
|
|
|
* See [dgVoice](https://github.com/bwmarrin/dgvoice) for **experimental** voice
|
|
support.
|
|
|
|
Join [#go_discordgo](https://discord.gg/0SBTUU1wZTWT6sqd) Discord chat channel
|
|
for support.
|
|
|
|
## Getting Started
|
|
|
|
### Installing
|
|
|
|
Discordgo has been tested to compile on Debian 8 (Go 1.3.3),
|
|
FreeBSD 10 (Go 1.5.1), and Windows 7 (Go 1.5.2).
|
|
|
|
This assumes you already have a working Go environment, if not please see
|
|
[this page](https://golang.org/doc/install) first.
|
|
|
|
```sh
|
|
$ go get github.com/bwmarrin/discordgo
|
|
```
|
|
|
|
### Usage
|
|
|
|
Import the package into your project.
|
|
|
|
```go
|
|
import "github.com/bwmarrin/discordgo"
|
|
```
|
|
|
|
Construct a new Discord client which can be used to access the variety of
|
|
Discord API functions and to set callback functions for Discord events.
|
|
|
|
```go
|
|
discord, err := discordgo.New("username", "password")
|
|
```
|
|
|
|
See Documentation and Examples below for more detailed information.
|
|
|
|
|
|
## Documentation
|
|
|
|
**NOTICE** : This library and the Discord API are unfinished.
|
|
Because of that there may be major changes to library functions, constants,
|
|
and structures.
|
|
|
|
The Discordgo code is fairly well documented at this point and is currently
|
|
the only documentation available. Both GoDoc and GoWalker (below) present
|
|
that information in a nice format.
|
|
|
|
- [](https://godoc.org/github.com/bwmarrin/discordgo)
|
|
- [](https://gowalker.org/github.com/bwmarrin/discordgo)
|
|
- [Unofficial Discord API Documentation](https://discordapi.readthedocs.org/en/latest/)
|
|
- Hand crafted documentation coming eventually.
|
|
|
|
|
|
## Examples
|
|
|
|
Below is a list of examples and other projects using Discordgo. Please submit
|
|
an issue if you would like your project added or removed from this list
|
|
|
|
- [Basic - New](https://github.com/bwmarrin/discordgo/tree/develop/examples/new_basic) A basic example using the easy New() helper function
|
|
- [Basic - API](https://github.com/bwmarrin/discordgo/tree/develop/examples/api_basic) A basic example using the low level API functions.
|
|
- [Bruxism](https://github.com/iopred/bruxism) A chat bot for YouTube and Discord
|
|
- [GoGerard](https://github.com/GoGerard/GoGerard) A modern bot for Discord
|
|
- [Digo](https://github.com/sethdmoore/digo) A pluggable bot for your Discord server
|
|
|
|
## Contributing
|
|
Contributions are very welcomed, however please follow the below guidelines.
|
|
|
|
- First open an issue describing the bug or enhancement so it can be
|
|
discussed.
|
|
- Fork the develop branch and make your changes.
|
|
- Try to match current naming conventions as closely as possible.
|
|
- This package is intended to be a low level direct mapping of the Discord API
|
|
so please avoid adding enhancements outside of that scope without first
|
|
discussing it.
|
|
- Create a Pull Request with your changes against the develop branch.
|
|
|
|
|
|
## List of Discord APIs
|
|
|
|
See [this chart](https://abal.moe/Discord/Libraries.html) for a feature
|
|
comparison and list of other Discord API libraries.
|