summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.golangci.yaml1
-rw-r--r--bridge/slack/slack.go20
-rw-r--r--bridge/sshchat/sshchat.go19
-rw-r--r--matterbridge.go7
-rw-r--r--matterclient/helpers.go3
-rw-r--r--matterclient/matterclient.go4
-rw-r--r--matterclient/messages.go8
7 files changed, 37 insertions, 25 deletions
diff --git a/.golangci.yaml b/.golangci.yaml
index ac3f34b8..e2c82bed 100644
--- a/.golangci.yaml
+++ b/.golangci.yaml
@@ -175,7 +175,6 @@ linters-settings:
linters:
enable-all: true
disable:
- - errcheck
- gochecknoglobals
- gocyclo
- lll
diff --git a/bridge/slack/slack.go b/bridge/slack/slack.go
index f9b4dd75..225e16e9 100644
--- a/bridge/slack/slack.go
+++ b/bridge/slack/slack.go
@@ -195,16 +195,16 @@ func (b *Bslack) Send(msg config.Message) (string, error) {
// Use webhook to send the message
if b.GetString(outgoingWebhookConfig) != "" {
- return b.sendWebhook(msg)
+ return "", b.sendWebhook(msg)
}
return b.sendRTM(msg)
}
// sendWebhook uses the configured WebhookURL to send the message
-func (b *Bslack) sendWebhook(msg config.Message) (string, error) {
+func (b *Bslack) sendWebhook(msg config.Message) error {
// Skip events.
if msg.Event != "" {
- return "", nil
+ return nil
}
if b.GetBool(useNickPrefixConfig) {
@@ -259,9 +259,9 @@ func (b *Bslack) sendWebhook(msg config.Message) (string, error) {
}
if err := b.mh.Send(matterMessage); err != nil {
b.Log.Errorf("Failed to send message via webhook: %#v", err)
- return "", err
+ return err
}
- return "", nil
+ return nil
}
func (b *Bslack) sendRTM(msg config.Message) (string, error) {
@@ -317,7 +317,7 @@ func (b *Bslack) sendRTM(msg config.Message) (string, error) {
return b.postMessage(&msg, channelInfo)
}
-func (b *Bslack) updateTopicOrPurpose(msg *config.Message, channelInfo *slack.Channel) (bool, error) {
+func (b *Bslack) updateTopicOrPurpose(msg *config.Message, channelInfo *slack.Channel) error {
var updateFunc func(channelID string, value string) (*slack.Channel, error)
incomingChangeType, text := b.extractTopicOrPurpose(msg.Text)
@@ -328,15 +328,15 @@ func (b *Bslack) updateTopicOrPurpose(msg *config.Message, channelInfo *slack.Ch
updateFunc = b.rtm.SetPurposeOfConversation
default:
b.Log.Errorf("Unhandled type received from extractTopicOrPurpose: %s", incomingChangeType)
- return true, nil
+ return nil
}
for {
_, err := updateFunc(channelInfo.ID, text)
if err == nil {
- return true, nil
+ return nil
}
if err = b.handleRateLimit(err); err != nil {
- return true, err
+ return err
}
}
}
@@ -348,7 +348,7 @@ func (b *Bslack) handleTopicOrPurpose(msg *config.Message, channelInfo *slack.Ch
}
if b.GetBool("SyncTopic") {
- return b.updateTopicOrPurpose(msg, channelInfo)
+ return true, b.updateTopicOrPurpose(msg, channelInfo)
}
// Pass along to normal message handlers.
diff --git a/bridge/sshchat/sshchat.go b/bridge/sshchat/sshchat.go
index 827c81de..555759bf 100644
--- a/bridge/sshchat/sshchat.go
+++ b/bridge/sshchat/sshchat.go
@@ -30,9 +30,10 @@ func (b *Bsshchat) Connect() error {
b.r = bufio.NewScanner(r)
b.w = w
b.r.Scan()
- w.Write([]byte("/theme mono\r\n"))
- b.handleSSHChat()
- return nil
+ if _, handleErr := w.Write([]byte("/theme mono\r\n")); handleErr != nil {
+ return handleErr
+ }
+ return b.handleSSHChat()
})
}()
if err != nil {
@@ -59,7 +60,9 @@ func (b *Bsshchat) Send(msg config.Message) (string, error) {
b.Log.Debugf("=> Receiving %#v", msg)
if msg.Extra != nil {
for _, rmsg := range helper.HandleExtra(&msg, b.General) {
- b.w.Write([]byte(rmsg.Username + rmsg.Text + "\r\n"))
+ if _, err := b.w.Write([]byte(rmsg.Username + rmsg.Text + "\r\n")); err != nil {
+ b.Log.Errorf("Could not send extra message: %#v", err)
+ }
}
if len(msg.Extra["file"]) > 0 {
for _, f := range msg.Extra["file"] {
@@ -73,13 +76,15 @@ func (b *Bsshchat) Send(msg config.Message) (string, error) {
msg.Text = fi.Comment + ": " + fi.URL
}
}
- b.w.Write([]byte(msg.Username + msg.Text))
+ if _, err := b.w.Write([]byte(msg.Username + msg.Text)); err != nil {
+ b.Log.Errorf("Could not send file message: %#v", err)
+ }
}
return "", nil
}
}
- b.w.Write([]byte(msg.Username + msg.Text + "\r\n"))
- return "", nil
+ _, err := b.w.Write([]byte(msg.Username + msg.Text + "\r\n"))
+ return "", err
}
/*
diff --git a/matterbridge.go b/matterbridge.go
index de63c905..e713fb0b 100644
--- a/matterbridge.go
+++ b/matterbridge.go
@@ -28,8 +28,11 @@ func main() {
flagGops := flag.Bool("gops", false, "enable gops agent")
flag.Parse()
if *flagGops {
- agent.Listen(agent.Options{})
- defer agent.Close()
+ if err := agent.Listen(agent.Options{}); err != nil {
+ flog.Errorf("failed to start gops agent: %#v", err)
+ } else {
+ defer agent.Close()
+ }
}
if *flagVersion {
fmt.Printf("version: %s %s\n", version, githash)
diff --git a/matterclient/helpers.go b/matterclient/helpers.go
index 05497311..625fffaa 100644
--- a/matterclient/helpers.go
+++ b/matterclient/helpers.go
@@ -263,8 +263,7 @@ func (m *MMClient) sendWSRequest(action string, data map[string]interface{}) err
req.Data = data
m.WsSequence++
m.log.Debugf("sendWsRequest %#v", req)
- m.WsClient.WriteJSON(req)
- return nil
+ return m.WsClient.WriteJSON(req)
}
func supportedVersion(version string) bool {
diff --git a/matterclient/matterclient.go b/matterclient/matterclient.go
index 4997011b..f15b1d1b 100644
--- a/matterclient/matterclient.go
+++ b/matterclient/matterclient.go
@@ -208,7 +208,9 @@ func (m *MMClient) StatusLoop() {
return
}
if m.WsConnected {
- m.checkAlive()
+ if err := m.checkAlive(); err != nil {
+ log.Errorf("Connection is not alive: %#v", err)
+ }
select {
case <-m.WsPingChan:
m.log.Debug("WS PONG received")
diff --git a/matterclient/messages.go b/matterclient/messages.go
index 28e3ec28..985cfe04 100644
--- a/matterclient/messages.go
+++ b/matterclient/messages.go
@@ -53,7 +53,9 @@ func (m *MMClient) parseMessage(rmsg *Message) {
m.UpdateUser(user["id"].(string))
}
case "group_added":
- m.UpdateChannels()
+ if err := m.UpdateChannels(); err != nil {
+ m.log.Errorf("failed to update channels: %#v", err)
+ }
/*
case model.ACTION_USER_REMOVED:
m.handleWsActionUserRemoved(&rmsg)
@@ -186,7 +188,9 @@ func (m *MMClient) SendDirectMessageProps(toUserId string, msg string, props map
channelName := model.GetDMNameFromIds(toUserId, m.User.Id)
// update our channels
- m.UpdateChannels()
+ if err := m.UpdateChannels(); err != nil {
+ m.log.Errorf("failed to update channels: %#v", err)
+ }
// build & send the message
msg = strings.Replace(msg, "\r", "", -1)