keel/vendor/github.com/nlopes/slack
Karolis Rusenas 084654ef61 vendor updated 2018-03-03 11:30:58 +00:00
..
.gitignore slack deps 2017-06-27 21:10:13 +01:00
.travis.yml slack deps 2017-06-27 21:10:13 +01:00
CHANGELOG.md slack deps 2017-06-27 21:10:13 +01:00
LICENSE slack deps 2017-06-27 21:10:13 +01:00
README.md slack deps 2017-06-27 21:10:13 +01:00
TODO.txt slack deps 2017-06-27 21:10:13 +01:00
admin.go slack deps 2017-06-27 21:10:13 +01:00
attachments.go slack deps 2017-06-27 21:10:13 +01:00
backoff.go slack deps 2017-06-27 21:10:13 +01:00
bots.go slack deps 2017-06-27 21:10:13 +01:00
channels.go slack deps 2017-06-27 21:10:13 +01:00
chat.go slack deps 2017-06-27 21:10:13 +01:00
comment.go slack deps 2017-06-27 21:10:13 +01:00
conversation.go slack deps 2017-06-27 21:10:13 +01:00
dnd.go slack deps 2017-06-27 21:10:13 +01:00
emoji.go slack deps 2017-06-27 21:10:13 +01:00
files.go slack deps 2017-06-27 21:10:13 +01:00
groups.go slack deps 2017-06-27 21:10:13 +01:00
history.go slack deps 2017-06-27 21:10:13 +01:00
im.go slack deps 2017-06-27 21:10:13 +01:00
info.go slack deps 2017-06-27 21:10:13 +01:00
item.go slack deps 2017-06-27 21:10:13 +01:00
messageID.go slack deps 2017-06-27 21:10:13 +01:00
messages.go slack deps 2017-06-27 21:10:13 +01:00
misc.go slack deps 2017-06-27 21:10:13 +01:00
oauth.go slack deps 2017-06-27 21:10:13 +01:00
pagination.go slack deps 2017-06-27 21:10:13 +01:00
pins.go slack deps 2017-06-27 21:10:13 +01:00
reactions.go slack deps 2017-06-27 21:10:13 +01:00
rtm.go slack deps 2017-06-27 21:10:13 +01:00
search.go slack deps 2017-06-27 21:10:13 +01:00
slack.go slack deps 2017-06-27 21:10:13 +01:00
stars.go slack deps 2017-06-27 21:10:13 +01:00
team.go slack deps 2017-06-27 21:10:13 +01:00
usergroups.go slack deps 2017-06-27 21:10:13 +01:00
users.go slack deps 2017-06-27 21:10:13 +01:00
websocket.go slack deps 2017-06-27 21:10:13 +01:00
websocket_channels.go slack deps 2017-06-27 21:10:13 +01:00
websocket_dm.go slack deps 2017-06-27 21:10:13 +01:00
websocket_dnd.go slack deps 2017-06-27 21:10:13 +01:00
websocket_files.go slack deps 2017-06-27 21:10:13 +01:00
websocket_groups.go slack deps 2017-06-27 21:10:13 +01:00
websocket_internals.go slack deps 2017-06-27 21:10:13 +01:00
websocket_managed_conn.go slack deps 2017-06-27 21:10:13 +01:00
websocket_misc.go slack deps 2017-06-27 21:10:13 +01:00
websocket_pins.go slack deps 2017-06-27 21:10:13 +01:00
websocket_proxy.go slack deps 2017-06-27 21:10:13 +01:00
websocket_reactions.go slack deps 2017-06-27 21:10:13 +01:00
websocket_stars.go slack deps 2017-06-27 21:10:13 +01:00
websocket_teams.go slack deps 2017-06-27 21:10:13 +01:00
websocket_utils.go slack deps 2017-06-27 21:10:13 +01:00

README.md

Slack API in Go GoDoc Build Status

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