matterbridge/vendor/github.com/nlopes/slack
2018-08-06 21:47:05 +02:00
..
.gitignore Use mod vendor for vendored directory (backwards compatible) 2018-08-06 21:47:05 +02:00
.travis.yml Use mod vendor for vendored directory (backwards compatible) 2018-08-06 21:47:05 +02:00
admin.go Update vendor (slack) 2018-01-08 22:41:38 +01:00
attachments.go Update vendor (slack) 2018-01-08 22:41:38 +01:00
backoff.go Update vendor (slack) 2018-01-08 22:41:38 +01:00
bots.go Update vendor (slack) 2018-01-08 22:41:38 +01:00
CHANGELOG.md Use mod vendor for vendored directory (backwards compatible) 2018-08-06 21:47:05 +02:00
channels.go Update vendor (slack) 2018-01-08 22:41:38 +01:00
chat.go Update vendor (slack) 2018-01-08 22:41:38 +01:00
comment.go Update vendor (slack) 2018-01-08 22:41:38 +01:00
conversation.go Update vendor (slack) 2018-01-08 22:41:38 +01:00
dnd.go Update vendor (slack) 2018-01-08 22:41:38 +01:00
emoji.go Update vendor (slack) 2018-01-08 22:41:38 +01:00
files.go Update vendor (slack) 2018-01-08 22:41:38 +01:00
groups.go Update vendor (slack) 2018-01-08 22:41:38 +01:00
history.go Update vendor (slack) 2018-01-08 22:41:38 +01:00
im.go Update vendor (slack) 2018-01-08 22:41:38 +01:00
info.go Update vendor (slack) 2018-01-08 22:41:38 +01:00
item.go Update vendor (slack) 2018-01-08 22:41:38 +01:00
LICENSE Update vendor (slack) 2018-01-08 22:41:38 +01:00
messageID.go Update vendor (slack) 2018-01-08 22:41:38 +01:00
messages.go Update vendor (slack) 2018-01-08 22:41:38 +01:00
misc.go Update vendor (slack) 2018-01-08 22:41:38 +01:00
oauth.go Update vendor (slack) 2018-01-08 22:41:38 +01:00
pagination.go Update vendor (slack) 2018-01-08 22:41:38 +01:00
pins.go Update vendor (slack) 2018-01-08 22:41:38 +01:00
reactions.go Update vendor (slack) 2018-01-08 22:41:38 +01:00
README.md Use mod vendor for vendored directory (backwards compatible) 2018-08-06 21:47:05 +02:00
rtm.go Update vendor (slack) 2018-01-08 22:41:38 +01:00
search.go Update vendor (slack) 2018-01-08 22:41:38 +01:00
slack.go Update vendor (slack) 2018-01-08 22:41:38 +01:00
stars.go Update vendor (slack) 2018-01-08 22:41:38 +01:00
team.go Update vendor (slack) 2018-01-08 22:41:38 +01:00
TODO.txt Use mod vendor for vendored directory (backwards compatible) 2018-08-06 21:47:05 +02:00
usergroups.go Update vendor (slack) 2018-01-08 22:41:38 +01:00
users.go Update vendor (slack) 2018-01-08 22:41:38 +01:00
websocket_channels.go Update vendor (slack) 2018-01-08 22:41:38 +01:00
websocket_dm.go Update vendor (slack) 2018-01-08 22:41:38 +01:00
websocket_dnd.go Update vendor (slack) 2018-01-08 22:41:38 +01:00
websocket_files.go Update vendor (slack) 2018-01-08 22:41:38 +01:00
websocket_groups.go Update vendor (slack) 2018-01-08 22:41:38 +01:00
websocket_internals.go Update vendor (slack) 2018-01-08 22:41:38 +01:00
websocket_managed_conn.go Update vendor (slack) 2018-01-08 22:41:38 +01:00
websocket_misc.go Update vendor (slack) 2018-01-08 22:41:38 +01:00
websocket_pins.go Update vendor (slack) 2018-01-08 22:41:38 +01:00
websocket_proxy.go Update vendor (slack) 2018-01-08 22:41:38 +01:00
websocket_reactions.go Update vendor (slack) 2018-01-08 22:41:38 +01:00
websocket_stars.go Update vendor (slack) 2018-01-08 22:41:38 +01:00
websocket_teams.go Update vendor (slack) 2018-01-08 22:41:38 +01:00
websocket.go Update vendor (slack) 2018-01-08 22:41:38 +01:00

Slack API in Go GoDoc Build Status

Join the chat at https://gitter.im/go-slack/Lobby

This library supports most if not all of the api.slack.com REST calls, as well as the Real-Time Messaging protocol over websocket, in a fully managed way.

Change log

v0.1.0 - May 28, 2017

This is released before adding context support. As the used context package is the one from Go 1.7 this will be the last compatible with Go < 1.7.

Please check 0.1.0

CHANGELOG.md

As of this version a CHANGELOG.md is available. Please visit it for updates.

Installing

go get

$ go get -u github.com/nlopes/slack

Example

Getting all groups

import (
	"fmt"

	"github.com/nlopes/slack"
)

func main() {
	api := slack.New("YOUR_TOKEN_HERE")
	// If you set debugging, it will log all requests to the console
	// Useful when encountering issues
	// api.SetDebug(true)
	groups, err := api.GetGroups(false)
	if err != nil {
		fmt.Printf("%s\n", err)
		return
	}
	for _, group := range groups {
		fmt.Printf("ID: %s, Name: %s\n", group.ID, group.Name)
	}
}

Getting User Information

import (
    "fmt"

    "github.com/nlopes/slack"
)

func main() {
    api := slack.New("YOUR_TOKEN_HERE")
    user, err := api.GetUserInfo("U023BECGF")
    if err != nil {
	    fmt.Printf("%s\n", err)
	    return
    }
    fmt.Printf("ID: %s, Fullname: %s, Email: %s\n", user.ID, user.Profile.RealName, user.Profile.Email)
}

Minimal RTM usage:

See https://github.com/nlopes/slack/blob/master/examples/websocket/websocket.go

Contributing

You are more than welcome to contribute to this project. Fork and make a Pull Request, or create an Issue if you see any problem.

License

BSD 2 Clause license