diff options
Diffstat (limited to 'vendor/github.com/nlopes')
16 files changed, 127 insertions, 517 deletions
diff --git a/vendor/github.com/nlopes/slack/.gitignore b/vendor/github.com/nlopes/slack/.gitignore new file mode 100644 index 00000000..dd2440d5 --- /dev/null +++ b/vendor/github.com/nlopes/slack/.gitignore @@ -0,0 +1,2 @@ +*.test +*~ diff --git a/vendor/github.com/nlopes/slack/.travis.yml b/vendor/github.com/nlopes/slack/.travis.yml new file mode 100644 index 00000000..bd0539e0 --- /dev/null +++ b/vendor/github.com/nlopes/slack/.travis.yml @@ -0,0 +1,21 @@ +language: go + +go: + - 1.7.x + - 1.8.x + - 1.9.x + - tip + +before_install: + - export PATH=$HOME/gopath/bin:$PATH + +script: + - go test -race ./... + - go test -cover ./... + +matrix: + allow_failures: + - go: tip + +git: + depth: 10 diff --git a/vendor/github.com/nlopes/slack/CHANGELOG.md b/vendor/github.com/nlopes/slack/CHANGELOG.md new file mode 100644 index 00000000..8c4772da --- /dev/null +++ b/vendor/github.com/nlopes/slack/CHANGELOG.md @@ -0,0 +1,12 @@ +### 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](https://github.com/nlopes/slack/releases/tag/v0.1.0)
+
+### v0.0.1 - Jul 26, 2015
+
+If you just updated from master and it broke your implementation, please
+check [0.0.1](https://github.com/nlopes/slack/releases/tag/v0.0.1)
diff --git a/vendor/github.com/nlopes/slack/README.md b/vendor/github.com/nlopes/slack/README.md new file mode 100644 index 00000000..953b9d8f --- /dev/null +++ b/vendor/github.com/nlopes/slack/README.md @@ -0,0 +1,89 @@ +Slack API in Go [![GoDoc](https://godoc.org/github.com/nlopes/slack?status.svg)](https://godoc.org/github.com/nlopes/slack) [![Build Status](https://travis-ci.org/nlopes/slack.svg)](https://travis-ci.org/nlopes/slack) +=============== + +[![Join the chat at https://gitter.im/go-slack/Lobby](https://badges.gitter.im/go-slack/Lobby.svg)](https://gitter.im/go-slack/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) + +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](https://github.com/nlopes/slack/releases/tag/v0.1.0) + +### CHANGELOG.md + +As of this version a [CHANGELOG.md](https://github.com/nlopes/slack/blob/master/CHANGELOG.md) is available. Please visit it for updates. + +## Installing + +### *go get* + + $ go get -u github.com/nlopes/slack + +## Example + +### Getting all groups + +```golang +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 + +```golang +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 diff --git a/vendor/github.com/nlopes/slack/TODO.txt b/vendor/github.com/nlopes/slack/TODO.txt new file mode 100644 index 00000000..8607960b --- /dev/null +++ b/vendor/github.com/nlopes/slack/TODO.txt @@ -0,0 +1,3 @@ +- Add more tests!!! +- Add support to have markdown hints + - See section Message Formatting at https://api.slack.com/docs/formatting diff --git a/vendor/github.com/nlopes/slack/examples/channels/channels.go b/vendor/github.com/nlopes/slack/examples/channels/channels.go deleted file mode 100644 index 37d5f741..00000000 --- a/vendor/github.com/nlopes/slack/examples/channels/channels.go +++ /dev/null @@ -1,21 +0,0 @@ -package main - -import ( - "fmt" - - "github.com/nlopes/slack" -) - -func main() { - api := slack.New("YOUR_TOKEN_HERE") - channels, err := api.GetChannels(false) - if err != nil { - fmt.Printf("%s\n", err) - return - } - for _, channel := range channels { - fmt.Println(channel.Name) - // channel is of type conversation & groupConversation - // see all available methods in `conversation.go` - } -} diff --git a/vendor/github.com/nlopes/slack/examples/files/files.go b/vendor/github.com/nlopes/slack/examples/files/files.go deleted file mode 100644 index bb7b4e50..00000000 --- a/vendor/github.com/nlopes/slack/examples/files/files.go +++ /dev/null @@ -1,30 +0,0 @@ -package main - -import ( - "fmt" - - "github.com/nlopes/slack" -) - -func main() { - api := slack.New("YOUR_TOKEN_HERE") - params := slack.FileUploadParameters{ - Title: "Batman Example", - //Filetype: "txt", - File: "example.txt", - //Content: "Nan Nan Nan Nan Nan Nan Nan Nan Batman", - } - file, err := api.UploadFile(params) - if err != nil { - fmt.Printf("%s\n", err) - return - } - fmt.Printf("Name: %s, URL: %s\n", file.Name, file.URL) - - err = api.DeleteFile(file.ID) - if err != nil { - fmt.Printf("%s\n", err) - return - } - fmt.Printf("File %s deleted successfully.\n", file.Name) -} diff --git a/vendor/github.com/nlopes/slack/examples/groups/groups.go b/vendor/github.com/nlopes/slack/examples/groups/groups.go deleted file mode 100644 index 2af215d1..00000000 --- a/vendor/github.com/nlopes/slack/examples/groups/groups.go +++ /dev/null @@ -1,22 +0,0 @@ -package main - -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) - } -} diff --git a/vendor/github.com/nlopes/slack/examples/ims/ims.go b/vendor/github.com/nlopes/slack/examples/ims/ims.go deleted file mode 100644 index 80d73c0a..00000000 --- a/vendor/github.com/nlopes/slack/examples/ims/ims.go +++ /dev/null @@ -1,21 +0,0 @@ -package main - -import ( - "fmt" - - "github.com/nlopes/slack" -) - -func main() { - api := slack.New("YOUR_TOKEN_HERE") - - userID := "USER_ID" - - _, _, channelID, err := api.OpenIMChannel(userID) - - if err != nil { - fmt.Printf("%s\n", err) - } - - api.PostMessage(channelID, "Hello World!", slack.PostMessageParameters{}) -} diff --git a/vendor/github.com/nlopes/slack/examples/messages/messages.go b/vendor/github.com/nlopes/slack/examples/messages/messages.go deleted file mode 100644 index b3ea87f3..00000000 --- a/vendor/github.com/nlopes/slack/examples/messages/messages.go +++ /dev/null @@ -1,32 +0,0 @@ -package main - -import ( - "fmt" - - "github.com/nlopes/slack" -) - -func main() { - api := slack.New("YOUR_TOKEN_HERE") - params := slack.PostMessageParameters{} - attachment := slack.Attachment{ - Pretext: "some pretext", - Text: "some text", - // Uncomment the following part to send a field too - /* - Fields: []slack.AttachmentField{ - slack.AttachmentField{ - Title: "a", - Value: "no", - }, - }, - */ - } - params.Attachments = []slack.Attachment{attachment} - channelID, timestamp, err := api.PostMessage("CHANNEL_ID", "Some text", params) - if err != nil { - fmt.Printf("%s\n", err) - return - } - fmt.Printf("Message successfully sent to channel %s at %s", channelID, timestamp) -} diff --git a/vendor/github.com/nlopes/slack/examples/pins/pins.go b/vendor/github.com/nlopes/slack/examples/pins/pins.go deleted file mode 100644 index d225184c..00000000 --- a/vendor/github.com/nlopes/slack/examples/pins/pins.go +++ /dev/null @@ -1,123 +0,0 @@ -package main - -import ( - "flag" - "fmt" - - "github.com/nlopes/slack" -) - -/* - WARNING: This example is destructive in the sense that it create a channel called testpinning -*/ -func main() { - var ( - apiToken string - debug bool - ) - - flag.StringVar(&apiToken, "token", "YOUR_TOKEN_HERE", "Your Slack API Token") - flag.BoolVar(&debug, "debug", false, "Show JSON output") - flag.Parse() - - api := slack.New(apiToken) - if debug { - api.SetDebug(true) - } - - var ( - postAsUserName string - postAsUserID string - postToChannelID string - ) - - // Find the user to post as. - authTest, err := api.AuthTest() - if err != nil { - fmt.Printf("Error getting channels: %s\n", err) - return - } - - channelName := "testpinning" - - // Post as the authenticated user. - postAsUserName = authTest.User - postAsUserID = authTest.UserID - - // Create a temporary channel - channel, err := api.CreateChannel(channelName) - - if err != nil { - // If the channel exists, that means we just need to unarchive it - if err.Error() == "name_taken" { - err = nil - channels, err := api.GetChannels(false) - if err != nil { - fmt.Println("Could not retrieve channels") - return - } - for _, archivedChannel := range channels { - if archivedChannel.Name == channelName { - if archivedChannel.IsArchived { - err = api.UnarchiveChannel(archivedChannel.ID) - if err != nil { - fmt.Printf("Could not unarchive %s: %s\n", archivedChannel.ID, err) - return - } - } - channel = &archivedChannel - break - } - } - } - if err != nil { - fmt.Printf("Error setting test channel for pinning: %s\n", err) - return - } - } - postToChannelID = channel.ID - - fmt.Printf("Posting as %s (%s) in channel %s\n", postAsUserName, postAsUserID, postToChannelID) - - // Post a message. - postParams := slack.PostMessageParameters{} - channelID, timestamp, err := api.PostMessage(postToChannelID, "Is this any good?", postParams) - if err != nil { - fmt.Printf("Error posting message: %s\n", err) - return - } - - // Grab a reference to the message. - msgRef := slack.NewRefToMessage(channelID, timestamp) - - // Add message pin to channel - if err := api.AddPin(channelID, msgRef); err != nil { - fmt.Printf("Error adding pin: %s\n", err) - return - } - - // List all of the users pins. - listPins, _, err := api.ListPins(channelID) - if err != nil { - fmt.Printf("Error listing pins: %s\n", err) - return - } - fmt.Printf("\n") - fmt.Printf("All pins by %s...\n", authTest.User) - for _, item := range listPins { - fmt.Printf(" > Item type: %s\n", item.Type) - } - - // Remove the pin. - err = api.RemovePin(channelID, msgRef) - if err != nil { - fmt.Printf("Error remove pin: %s\n", err) - return - } - - if err = api.ArchiveChannel(channelID); err != nil { - fmt.Printf("Error archiving channel: %s\n", err) - return - } - -} diff --git a/vendor/github.com/nlopes/slack/examples/reactions/reactions.go b/vendor/github.com/nlopes/slack/examples/reactions/reactions.go deleted file mode 100644 index 753f0d25..00000000 --- a/vendor/github.com/nlopes/slack/examples/reactions/reactions.go +++ /dev/null @@ -1,126 +0,0 @@ -package main - -import ( - "flag" - "fmt" - - "github.com/nlopes/slack" -) - -func main() { - var ( - apiToken string - debug bool - ) - - flag.StringVar(&apiToken, "token", "YOUR_TOKEN_HERE", "Your Slack API Token") - flag.BoolVar(&debug, "debug", false, "Show JSON output") - flag.Parse() - - api := slack.New(apiToken) - if debug { - api.SetDebug(true) - } - - var ( - postAsUserName string - postAsUserID string - postToUserName string - postToUserID string - postToChannelID string - ) - - // Find the user to post as. - authTest, err := api.AuthTest() - if err != nil { - fmt.Printf("Error getting channels: %s\n", err) - return - } - - // Post as the authenticated user. - postAsUserName = authTest.User - postAsUserID = authTest.UserID - - // Posting to DM with self causes a conversation with slackbot. - postToUserName = authTest.User - postToUserID = authTest.UserID - - // Find the channel. - _, _, chanID, err := api.OpenIMChannel(postToUserID) - if err != nil { - fmt.Printf("Error opening IM: %s\n", err) - return - } - postToChannelID = chanID - - fmt.Printf("Posting as %s (%s) in DM with %s (%s), channel %s\n", postAsUserName, postAsUserID, postToUserName, postToUserID, postToChannelID) - - // Post a message. - postParams := slack.PostMessageParameters{} - channelID, timestamp, err := api.PostMessage(postToChannelID, "Is this any good?", postParams) - if err != nil { - fmt.Printf("Error posting message: %s\n", err) - return - } - - // Grab a reference to the message. - msgRef := slack.NewRefToMessage(channelID, timestamp) - - // React with :+1: - if err := api.AddReaction("+1", msgRef); err != nil { - fmt.Printf("Error adding reaction: %s\n", err) - return - } - - // React with :-1: - if err := api.AddReaction("cry", msgRef); err != nil { - fmt.Printf("Error adding reaction: %s\n", err) - return - } - - // Get all reactions on the message. - msgReactions, err := api.GetReactions(msgRef, slack.NewGetReactionsParameters()) - if err != nil { - fmt.Printf("Error getting reactions: %s\n", err) - return - } - fmt.Printf("\n") - fmt.Printf("%d reactions to message...\n", len(msgReactions)) - for _, r := range msgReactions { - fmt.Printf(" %d users say %s\n", r.Count, r.Name) - } - - // List all of the users reactions. - listReactions, _, err := api.ListReactions(slack.NewListReactionsParameters()) - if err != nil { - fmt.Printf("Error listing reactions: %s\n", err) - return - } - fmt.Printf("\n") - fmt.Printf("All reactions by %s...\n", authTest.User) - for _, item := range listReactions { - fmt.Printf("%d on a %s...\n", len(item.Reactions), item.Type) - for _, r := range item.Reactions { - fmt.Printf(" %s (along with %d others)\n", r.Name, r.Count-1) - } - } - - // Remove the :cry: reaction. - err = api.RemoveReaction("cry", msgRef) - if err != nil { - fmt.Printf("Error remove reaction: %s\n", err) - return - } - - // Get all reactions on the message. - msgReactions, err = api.GetReactions(msgRef, slack.NewGetReactionsParameters()) - if err != nil { - fmt.Printf("Error getting reactions: %s\n", err) - return - } - fmt.Printf("\n") - fmt.Printf("%d reactions to message after removing cry...\n", len(msgReactions)) - for _, r := range msgReactions { - fmt.Printf(" %d users say %s\n", r.Count, r.Name) - } -} diff --git a/vendor/github.com/nlopes/slack/examples/stars/stars.go b/vendor/github.com/nlopes/slack/examples/stars/stars.go deleted file mode 100644 index d20c3dcf..00000000 --- a/vendor/github.com/nlopes/slack/examples/stars/stars.go +++ /dev/null @@ -1,46 +0,0 @@ -package main - -import ( - "flag" - "fmt" - - "github.com/nlopes/slack" -) - -func main() { - var ( - apiToken string - debug bool - ) - - flag.StringVar(&apiToken, "token", "YOUR_TOKEN_HERE", "Your Slack API Token") - flag.BoolVar(&debug, "debug", false, "Show JSON output") - flag.Parse() - - api := slack.New(apiToken) - if debug { - api.SetDebug(true) - } - - // Get all stars for the usr. - params := slack.NewStarsParameters() - starredItems, _, err := api.GetStarred(params) - if err != nil { - fmt.Printf("Error getting stars: %s\n", err) - return - } - for _, s := range starredItems { - var desc string - switch s.Type { - case slack.TYPE_MESSAGE: - desc = s.Message.Text - case slack.TYPE_FILE: - desc = s.File.Name - case slack.TYPE_FILE_COMMENT: - desc = s.File.Name + " - " + s.Comment.Comment - case slack.TYPE_CHANNEL, slack.TYPE_IM, slack.TYPE_GROUP: - desc = s.Channel - } - fmt.Printf("Starred %s: %s\n", s.Type, desc) - } -} diff --git a/vendor/github.com/nlopes/slack/examples/team/team.go b/vendor/github.com/nlopes/slack/examples/team/team.go deleted file mode 100644 index caaf79f6..00000000 --- a/vendor/github.com/nlopes/slack/examples/team/team.go +++ /dev/null @@ -1,25 +0,0 @@ -package main - -import ( - "fmt" - - "github.com/nlopes/slack" -) - -func main() { - api := slack.New("YOUR_TOKEN_HERE") - //Example for single user - billingActive, err := api.GetBillableInfo("U023BECGF") - if err != nil { - fmt.Printf("%s\n", err) - return - } - fmt.Printf("ID: U023BECGF, BillingActive: %v\n\n\n", billingActive["U023BECGF"]) - - //Example for team - billingActiveForTeam, _ := api.GetBillableInfoForTeam() - for id, value := range billingActiveForTeam { - fmt.Printf("ID: %v, BillingActive: %v\n", id, value) - } - -} diff --git a/vendor/github.com/nlopes/slack/examples/users/users.go b/vendor/github.com/nlopes/slack/examples/users/users.go deleted file mode 100644 index 9a6e1f6f..00000000 --- a/vendor/github.com/nlopes/slack/examples/users/users.go +++ /dev/null @@ -1,17 +0,0 @@ -package main - -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) -} diff --git a/vendor/github.com/nlopes/slack/examples/websocket/websocket.go b/vendor/github.com/nlopes/slack/examples/websocket/websocket.go deleted file mode 100644 index c232951a..00000000 --- a/vendor/github.com/nlopes/slack/examples/websocket/websocket.go +++ /dev/null @@ -1,54 +0,0 @@ -package main - -import ( - "fmt" - "log" - "os" - - "github.com/nlopes/slack" -) - -func main() { - api := slack.New("YOUR TOKEN HERE") - logger := log.New(os.Stdout, "slack-bot: ", log.Lshortfile|log.LstdFlags) - slack.SetLogger(logger) - api.SetDebug(true) - - rtm := api.NewRTM() - go rtm.ManageConnection() - - for msg := range rtm.IncomingEvents { - fmt.Print("Event Received: ") - switch ev := msg.Data.(type) { - case *slack.HelloEvent: - // Ignore hello - - case *slack.ConnectedEvent: - fmt.Println("Infos:", ev.Info) - fmt.Println("Connection counter:", ev.ConnectionCount) - // Replace C2147483705 with your Channel ID - rtm.SendMessage(rtm.NewOutgoingMessage("Hello world", "C2147483705")) - - case *slack.MessageEvent: - fmt.Printf("Message: %v\n", ev) - - case *slack.PresenceChangeEvent: - fmt.Printf("Presence Change: %v\n", ev) - - case *slack.LatencyReport: - fmt.Printf("Current latency: %v\n", ev.Value) - - case *slack.RTMError: - fmt.Printf("Error: %s\n", ev.Error()) - - case *slack.InvalidAuthEvent: - fmt.Printf("Invalid credentials") - return - - default: - - // Ignore other events.. - // fmt.Printf("Unexpected: %v\n", msg.Data) - } - } -} |