diff options
author | Wim <wim@42.be> | 2018-01-08 22:41:38 +0100 |
---|---|---|
committer | Wim <wim@42.be> | 2018-01-08 22:41:38 +0100 |
commit | 4a96a977c0e86e22edcda40730779279334685be (patch) | |
tree | fea5efa54d17af2d3cadb4d4d5a42f57e9bb7fbe /vendor/github.com/nlopes/slack/bots.go | |
parent | 9a95293bdf74a4d02827018649b6ea0ffdef74ba (diff) | |
download | matterbridge-msglm-4a96a977c0e86e22edcda40730779279334685be.tar.gz matterbridge-msglm-4a96a977c0e86e22edcda40730779279334685be.tar.bz2 matterbridge-msglm-4a96a977c0e86e22edcda40730779279334685be.zip |
Update vendor (slack)
Diffstat (limited to 'vendor/github.com/nlopes/slack/bots.go')
-rw-r--r-- | vendor/github.com/nlopes/slack/bots.go | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/vendor/github.com/nlopes/slack/bots.go b/vendor/github.com/nlopes/slack/bots.go new file mode 100644 index 00000000..13a78cb1 --- /dev/null +++ b/vendor/github.com/nlopes/slack/bots.go @@ -0,0 +1,50 @@ +package slack + +import ( + "context" + "errors" + "net/url" +) + +// Bot contains information about a bot +type Bot struct { + ID string `json:"id"` + Name string `json:"name"` + Deleted bool `json:"deleted"` + Icons Icons `json:"icons"` +} + +type botResponseFull struct { + Bot `json:"bot,omitempty"` // GetBotInfo + SlackResponse +} + +func botRequest(ctx context.Context, path string, values url.Values, debug bool) (*botResponseFull, error) { + response := &botResponseFull{} + err := post(ctx, path, values, response, debug) + if err != nil { + return nil, err + } + if !response.Ok { + return nil, errors.New(response.Error) + } + return response, nil +} + +// GetBotInfo will retrieve the complete bot information +func (api *Client) GetBotInfo(bot string) (*Bot, error) { + return api.GetBotInfoContext(context.Background(), bot) +} + +// GetBotInfoContext will retrieve the complete bot information using a custom context +func (api *Client) GetBotInfoContext(ctx context.Context, bot string) (*Bot, error) { + values := url.Values{ + "token": {api.config.token}, + "bot": {bot}, + } + response, err := botRequest(ctx, "bots.info", values, api.debug) + if err != nil { + return nil, err + } + return &response.Bot, nil +} |