Codebase list golang-github-nlopes-slack / 3048784
3048784

Tree @3048784 (Download .tar.gz)

# Slack API in Go

[![GoDoc](https://godoc.org/github.com/nlopes/slack?status.png)](https://godoc.org/github.com/nlopes/slack)

## 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)
    }

## Why?
I am currently learning Go and this seemed like a good idea.

## Stability
As with any other piece of software expect bugs. Also, the design isn't finalized yet because I am not happy with how I laid out some things. Especially the websocket stuff. It is functional but very incomplete and buggy.

## Help
Anyone is welcome to contribute. Either open a PR or create an issue.

## License
BSD 2 Clause license

Commit History @304878435b2493a2e4d0264e4fa0b7e3890f8d5a