Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/Goscord/goscord

A Discord API wrapper written in Golang.
https://github.com/Goscord/goscord

bot discord discord-api discord-bot discord-wrapper discordapi golang udp websocket ws

Last synced: about 2 months ago
JSON representation

A Discord API wrapper written in Golang.

Awesome Lists containing this project

README

        




Goscord



Goscord is a package for Golang that provides high level bindings to the Discord API.








## Getting Started
### Installing
```sh
# Init the module:
go mod init

# Install Goscord:
go get -u github.com/Goscord/goscord
```

### Usage
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
package main

import (
"fmt"

"github.com/Goscord/goscord/goscord"
"github.com/Goscord/goscord/goscord/discord"
"github.com/Goscord/goscord/goscord/gateway"
"github.com/Goscord/goscord/goscord/gateway/event"
)

var client *gateway.Session

func main() {
fmt.Println("Starting...")

client := goscord.New(&gateway.Options{
Token: "token",
Intents: gateway.IntentGuildMessages,
})

client.On(event.EventReady, func() {
fmt.Println("Logged in as " + client.Me().Tag())
})

client.On(event.EventMessageCreate, func(msg *discord.Message) {
if msg.Content == "ping" {
client.Channel.SendMessage(msg.ChannelId, "Pong ! 🏓")
}
})

client.Login()

select {}
}
```

See [documentation](https://goscord.dev/documentation) for more detailed information.

## Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.