Skip to content

golanghr/slack

This branch is 2 commits ahead of, 1611 commits behind slack-go/slack:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

00c66d5 Â· Nov 22, 2015
Oct 9, 2015
Aug 16, 2015
Aug 16, 2015
Jan 24, 2015
Sep 10, 2015
Aug 16, 2015
Oct 29, 2015
Jul 22, 2015
Aug 16, 2015
Oct 9, 2015
Aug 16, 2015
Jul 22, 2015
Oct 9, 2015
Aug 4, 2015
Aug 16, 2015
Jan 24, 2015
Aug 16, 2015
Oct 9, 2015
Feb 8, 2015
Oct 9, 2015
Sep 24, 2015
Jul 26, 2015
Jul 22, 2015
Aug 16, 2015
Nov 14, 2015
Jul 22, 2015
Aug 16, 2015
Aug 16, 2015
Aug 16, 2015
Jan 27, 2015
Oct 9, 2015
Oct 9, 2015
Aug 16, 2015
Jul 22, 2015
Aug 23, 2015
Aug 16, 2015
Aug 16, 2015
Jan 24, 2015
Oct 9, 2015
Oct 9, 2015
Nov 22, 2015
Aug 16, 2015
Aug 16, 2015
Aug 3, 2015
Aug 3, 2015
Aug 16, 2015
Aug 23, 2015
Sep 12, 2015
Aug 23, 2015
Sep 12, 2015
Aug 20, 2015
Aug 3, 2015
Aug 3, 2015
Aug 3, 2015
Oct 9, 2015

Repository files navigation

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.

Note: If you just updated from master and it broke your implementation, please check 0.0.1

Installing

go get

$ go get 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

Packages

No packages published

Languages

  • Go 100.0%