Merge branch 'master' into zulip-auth-failure

This commit is contained in:
Wim
2021-10-23 23:13:24 +02:00
committed by GitHub
6 changed files with 40 additions and 19 deletions

4
go.mod
View File

@@ -25,9 +25,9 @@ require (
github.com/matterbridge/Rocket.Chat.Go.SDK v0.0.0-20211016222428-79310a412696
github.com/matterbridge/discordgo v0.21.2-0.20210201201054-fb39a175b4f7
github.com/matterbridge/go-xmpp v0.0.0-20210731150933-5702291c239f
github.com/matterbridge/gozulipbot v0.0.0-20200820220548-be5824faa913
github.com/matterbridge/gozulipbot v0.0.0-20211023205727-a19d6c1f3b75
github.com/matterbridge/logrus-prefixed-formatter v0.5.3-0.20200523233437-d971309a77ba
github.com/matterbridge/matterclient v0.0.0-20211016195328-346acac403d8
github.com/matterbridge/matterclient v0.0.0-20211021135437-2dc2bc7dce2d
github.com/mattermost/mattermost-server/v5 v5.39.0
github.com/mattermost/mattermost-server/v6 v6.0.0
github.com/mattn/godown v0.0.1

8
go.sum
View File

@@ -661,12 +661,12 @@ github.com/matterbridge/discordgo v0.21.2-0.20210201201054-fb39a175b4f7 h1:4J2YZ
github.com/matterbridge/discordgo v0.21.2-0.20210201201054-fb39a175b4f7/go.mod h1:411nZYv0UMMrtppR5glXop1foboJiFAowy+42U+Ahvw=
github.com/matterbridge/go-xmpp v0.0.0-20210731150933-5702291c239f h1:1hfavl4YOoRjgTBWezeX8WXCGnhrxnfEgQtb38wQnyg=
github.com/matterbridge/go-xmpp v0.0.0-20210731150933-5702291c239f/go.mod h1:ECDRehsR9TYTKCAsRS8/wLeOk6UUqDydw47ln7wG41Q=
github.com/matterbridge/gozulipbot v0.0.0-20200820220548-be5824faa913 h1:5UGr9fLsvAvhjP6i5XJmd0ZIwYVR2gZCzU1lJZ7wfLY=
github.com/matterbridge/gozulipbot v0.0.0-20200820220548-be5824faa913/go.mod h1:yAjnZ34DuDyPHMPHHjOsTk/FefW4JJjoMMCGt/8uuQA=
github.com/matterbridge/gozulipbot v0.0.0-20211023205727-a19d6c1f3b75 h1:GslZKF7lW7oSisycGLpxPO+TnKJuA4VZuTWIfYZrClc=
github.com/matterbridge/gozulipbot v0.0.0-20211023205727-a19d6c1f3b75/go.mod h1:yAjnZ34DuDyPHMPHHjOsTk/FefW4JJjoMMCGt/8uuQA=
github.com/matterbridge/logrus-prefixed-formatter v0.5.3-0.20200523233437-d971309a77ba h1:XleOY4IjAEIcxAh+IFwT5JT5Ze3RHiYz6m+4ZfZ0rc0=
github.com/matterbridge/logrus-prefixed-formatter v0.5.3-0.20200523233437-d971309a77ba/go.mod h1:iXGEotOvwI1R1SjLxRc+BF5rUORTMtE0iMZBT2lxqAU=
github.com/matterbridge/matterclient v0.0.0-20211016195328-346acac403d8 h1:6U64ukl/GOvjPTKvUE9jmMLlvJCa+M2aoiq7myoE8RE=
github.com/matterbridge/matterclient v0.0.0-20211016195328-346acac403d8/go.mod h1:Gh3tFUjkcPIBBeEkfXBbGio4ONMMKNmlmGECvXLY0TE=
github.com/matterbridge/matterclient v0.0.0-20211021135437-2dc2bc7dce2d h1:zOIeYDh2WcqEZkJTiV5tHynjuP40IFHubliqhvfhc/0=
github.com/matterbridge/matterclient v0.0.0-20211021135437-2dc2bc7dce2d/go.mod h1:Gh3tFUjkcPIBBeEkfXBbGio4ONMMKNmlmGECvXLY0TE=
github.com/mattermost/go-i18n v1.11.0 h1:1hLKqn/ZvhZ80OekjVPGYcCrBfMz+YxNNgqS+beL7zE=
github.com/mattermost/go-i18n v1.11.0/go.mod h1:RyS7FDNQlzF1PsjbJWHRI35exqaKGSO9qD4iv8QjE34=
github.com/mattermost/gorp v1.6.2-0.20210419141818-0904a6a388d3/go.mod h1:QCQ3U0M9T/BlAdjKFJo0I1oe/YAgbyjNdhU8bpOLafk=

View File

@@ -10,14 +10,15 @@ import (
)
type Bot struct {
APIKey string
APIURL string
Email string
Queues []*Queue
Streams []string
Client Doer
Backoff time.Duration
Retries int64
APIKey string
APIURL string
Email string
Queues []*Queue
Streams []string
Client Doer
Backoff time.Duration
Retries int64
UserAgent string
}
type Doer interface {
@@ -117,6 +118,11 @@ func (b *Bot) Subscribe(streams []string) (*http.Response, error) {
body := "subscriptions=" + string(bodyBts)
req, err := b.constructRequest("POST", "users/me/subscriptions", body)
if b.UserAgent != "" {
req.Header.Set("User-Agent", b.UserAgent)
} else {
req.Header.Set("User-Agent", fmt.Sprintf("gozulipbot/%s", Release))
}
if err != nil {
return nil, err
}
@@ -174,6 +180,20 @@ func (b *Bot) RegisterEvents(ets []EventType, n Narrow) (*Queue, error) {
return nil, err
}
defer resp.Body.Close()
if resp.StatusCode != 200 {
// Try to parse the error out of the body
body, err := ioutil.ReadAll(resp.Body)
if err == nil {
var jsonErr map[string]string
err = json.Unmarshal(body, &jsonErr)
if err == nil {
if msg, ok := jsonErr["msg"]; ok {
return nil, fmt.Errorf("Failed to register: %s", msg)
}
}
}
return nil, fmt.Errorf("Got non-200 response code when registering: %d", resp.StatusCode)
}
body, err := ioutil.ReadAll(resp.Body)
if err != nil {

View File

@@ -151,6 +151,8 @@ func (q *Queue) GetEvents() ([]EventMessage, error) {
switch {
case resp.StatusCode == 429:
return nil, BackoffError
case resp.StatusCode == 401:
return nil, UnauthorizedError
case resp.StatusCode == 403:
return nil, UnauthorizedError
case resp.StatusCode >= 400:

View File

@@ -264,9 +264,8 @@ func (m *Client) parseMessage(rmsg *Message) {
case model.WebsocketEventPosted, model.WebsocketEventPostEdited, model.WebsocketEventPostDeleted:
m.parseActionPost(rmsg)
case "user_updated":
user := rmsg.Raw.GetData()["user"].(map[string]interface{})
if _, ok := user["id"].(string); ok {
m.UpdateUser(user["id"].(string))
if user, ok := rmsg.Raw.GetData()["user"].(*model.User); ok {
m.UpdateUser(user.Id)
}
case "group_added":
if err := m.UpdateChannels(); err != nil {

4
vendor/modules.txt vendored
View File

@@ -183,13 +183,13 @@ github.com/matterbridge/discordgo
# github.com/matterbridge/go-xmpp v0.0.0-20210731150933-5702291c239f
## explicit
github.com/matterbridge/go-xmpp
# github.com/matterbridge/gozulipbot v0.0.0-20200820220548-be5824faa913
# github.com/matterbridge/gozulipbot v0.0.0-20211023205727-a19d6c1f3b75
## explicit
github.com/matterbridge/gozulipbot
# github.com/matterbridge/logrus-prefixed-formatter v0.5.3-0.20200523233437-d971309a77ba
## explicit
github.com/matterbridge/logrus-prefixed-formatter
# github.com/matterbridge/matterclient v0.0.0-20211016195328-346acac403d8
# github.com/matterbridge/matterclient v0.0.0-20211021135437-2dc2bc7dce2d
## explicit; go 1.16
github.com/matterbridge/matterclient
# github.com/mattermost/go-i18n v1.11.0