diff options
author | Wim <wim@42.be> | 2016-09-05 16:34:37 +0200 |
---|---|---|
committer | Wim <wim@42.be> | 2016-09-05 16:34:37 +0200 |
commit | b30e85836e575974bac1b2ea91e9b6c2dd39fe44 (patch) | |
tree | b3aa5d148e436cacd6c737ad56ba3fc0b9369e26 /vendor/github.com/nlopes/slack/examples/websocket | |
parent | e449a97bd0114e55c2a73aa79b061b55d755aa16 (diff) | |
download | matterbridge-msglm-b30e85836e575974bac1b2ea91e9b6c2dd39fe44.tar.gz matterbridge-msglm-b30e85836e575974bac1b2ea91e9b6c2dd39fe44.tar.bz2 matterbridge-msglm-b30e85836e575974bac1b2ea91e9b6c2dd39fe44.zip |
Add Slack support
Diffstat (limited to 'vendor/github.com/nlopes/slack/examples/websocket')
-rw-r--r-- | vendor/github.com/nlopes/slack/examples/websocket/websocket.go | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/vendor/github.com/nlopes/slack/examples/websocket/websocket.go b/vendor/github.com/nlopes/slack/examples/websocket/websocket.go new file mode 100644 index 00000000..612b97c0 --- /dev/null +++ b/vendor/github.com/nlopes/slack/examples/websocket/websocket.go @@ -0,0 +1,58 @@ +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() + +Loop: + for { + select { + case msg := <-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 #general with your Channel ID + rtm.SendMessage(rtm.NewOutgoingMessage("Hello world", "#general")) + + 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") + break Loop + + default: + + // Ignore other events.. + // fmt.Printf("Unexpected: %v\n", msg.Data) + } + } + } +} |