Thumbnail

rani/matterbridge.git

Clone URL: https://git.buni.party/rani/matterbridge.git

commit ade99deeed90c2a7da8d3dfae817d458a7773c45 Author: Wim <wim@42.be> Date: Fri May 24 00:23:50 2024 +0000 Fix linting diff --git a/bridge/discord/discord.go b/bridge/discord/discord.go index 2707ad2..3f99da0 100644 --- a/bridge/discord/discord.go +++ b/bridge/discord/discord.go @@ -3317 +3317 @@ func (b *Bdiscord) handleEventBotUser(msg *config.Message, channelID string) (st   // Edit message   if msg.ID != "" {   // Exploit that a discord message ID is actually just a large number, and we encode a list of IDs by separating them with ";". - var msgIds = strings.Split(msg.ID, ";") + msgIds := strings.Split(msg.ID, ";")   msgParts := helper.ClipOrSplitMessage(b.replaceUserMentions(msg.Text), MessageLength, b.GetString("MessageClipped"), len(msgIds))   for len(msgParts) < len(msgIds) {   msgParts = append(msgParts, "((obsoleted by edit))") @@ -3497 +3497 @@ func (b *Bdiscord) handleEventBotUser(msg *config.Message, channelID string) (st   }     msgParts := helper.ClipOrSplitMessage(b.replaceUserMentions(msg.Text), MessageLength, b.GetString("MessageClipped"), b.GetInt("MessageSplitMaxCount")) - var msgIds = []string{} + msgIds := []string{}     for _, msgPart := range msgParts {   m := discordgo.MessageSend{ diff --git a/bridge/discord/webhook.go b/bridge/discord/webhook.go index 4e647b3..74a272b 100644 --- a/bridge/discord/webhook.go +++ b/bridge/discord/webhook.go @@ -457 +457 @@ func (b *Bdiscord) maybeGetLocalAvatar(msg *config.Message) string {    func (b *Bdiscord) webhookSendTextOnly(msg *config.Message, channelID string) (string, error) {   msgParts := helper.ClipOrSplitMessage(msg.Text, MessageLength, b.GetString("MessageClipped"), b.GetInt("MessageSplitMaxCount")) - var msgIds = []string{} + msgIds := []string{}   for _, msgPart := range msgParts {   res, err := b.transmitter.Send(   channelID, @@ -687 +687 @@ func (b *Bdiscord) webhookSendTextOnly(msg *config.Message, channelID string) (s    func (b *Bdiscord) webhookSendFilesOnly(msg *config.Message, channelID string) error {   for _, f := range msg.Extra["file"] { - fi := f.(config.FileInfo) + fi := f.(config.FileInfo) //nolint:forcetypeassert   file := discordgo.File{   Name: fi.Name,   ContentType: "", @@ -1018 +1018 @@ func (b *Bdiscord) webhookSendFilesOnly(msg *config.Message, channelID string) e  // Returns messageID and error.  func (b *Bdiscord) webhookSend(msg *config.Message, channelID string) (string, error) {   var ( - res string - err error + res string + err error   )     // If avatar is unset, mutate the message to include the local avatar (but only if settings say we should do this) @@ -14329 +14329 @@ func (b *Bdiscord) handleEventWebhook(msg *config.Message, channelID string) (st     if msg.ID != "" {   // Exploit that a discord message ID is actually just a large number, and we encode a list of IDs by separating them with ";". - var msgIds = strings.Split(msg.ID, ";") + msgIds := strings.Split(msg.ID, ";")   msgParts := helper.ClipOrSplitMessage(b.replaceUserMentions(msg.Text), MessageLength, b.GetString("MessageClipped"), len(msgIds))   for len(msgParts) < len(msgIds) {   msgParts = append(msgParts, "((obsoleted by edit))")   }   b.Log.Debugf("Editing webhook message") - var edit_err error = nil + var editErr error = nil   for i := range msgParts {   // In case of split-messages where some parts remain the same (i.e. only a typo-fix in a huge message), this causes some noop-updates.   // TODO: Optimize away noop-updates of un-edited messages - edit_err = b.transmitter.Edit(channelID, msgIds[i], &discordgo.WebhookParams{ + editErr = b.transmitter.Edit(channelID, msgIds[i], &discordgo.WebhookParams{   Content: msgParts[i],   Username: msg.Username,   AllowedMentions: b.getAllowedMentions(),   }) - if edit_err != nil { + if editErr != nil {   break   }   } - if edit_err == nil { + if editErr == nil {   return msg.ID, nil   } - b.Log.Errorf("Could not edit webhook message(s): %s; sending as new message(s) instead", edit_err) + b.Log.Errorf("Could not edit webhook message(s): %s; sending as new message(s) instead", editErr)   }     b.Log.Debugf("Processing webhook sending for message %#v", msg) diff --git a/bridge/helper/helper.go b/bridge/helper/helper.go index d968f4d..b90c906 100644 --- a/bridge/helper/helper.go +++ b/bridge/helper/helper.go @@ -23117 +23117 @@ func ClipMessage(text string, length int, clippingMessage string) string {    func ClipOrSplitMessage(text string, length int, clippingMessage string, splitMax int) []string {   var msgParts []string - var remainingText = text + remainingText := text   // Invariant of this splitting loop: No text is lost (msgParts+remainingText is the original text),   // and all parts is guaranteed to satisfy the length requirement. - for len(msgParts) < splitMax - 1 && len(remainingText) > length { + for len(msgParts) < splitMax-1 && len(remainingText) > length {   // Decision: The text needs to be split (again).   var chunk string - var wasted = 0 + wasted := 0   // The longest UTF-8 encoding of a valid rune is 4 bytes (0xF4 0x8F 0xBF 0xBF, encoding U+10FFFF),   // so we should never need to waste 4 or more bytes at a time.   for wasted < 4 && wasted < length { - chunk = remainingText[:length - wasted] + chunk = remainingText[:length-wasted]   if r, _ := utf8.DecodeLastRuneInString(chunk); r == utf8.RuneError {   wasted += 1   } else { diff --git a/bridge/helper/helper_test.go b/bridge/helper/helper_test.go index 739ece9..6823de6 100644 --- a/bridge/helper/helper_test.go +++ b/bridge/helper/helper_test.go @@ -1697 +1697 @@ var clippingOrSplittingTestCases = map[string]struct {   clipSplitLength: 50,   clippingMessage: "?!?!",   splitMax: 10, - expectedOutput: []string{ + expectedOutput: []string{   "Lorem ipsum dolor sit amet, consectetur adipiscing",   " elit, sed do eiusmod tempor incididunt ut labore ",   "et dolore magna aliqua.", @@ -1807 +1807 @@ var clippingOrSplittingTestCases = map[string]struct {   clipSplitLength: 50,   clippingMessage: "?!?!",   splitMax: 3, - expectedOutput: []string{ + expectedOutput: []string{   "Lorem ipsum dolor sit amet, consectetur adipiscing",   " elit, sed do eiusmod tempor incididunt ut labore ",   "et dolore magna aliqua.", @@ -1917 +1917 @@ var clippingOrSplittingTestCases = map[string]struct {   clipSplitLength: 50,   clippingMessage: "?!?!",   splitMax: 2, - expectedOutput: []string{ + expectedOutput: []string{   "Lorem ipsum dolor sit amet, consectetur adipiscing",   " elit, sed do eiusmod tempor incididunt ut lab?!?!",   }, @@ -2017 +2017 @@ var clippingOrSplittingTestCases = map[string]struct {   clipSplitLength: 50,   clippingMessage: "",   splitMax: 2, - expectedOutput: []string{ + expectedOutput: []string{   "Lorem ipsum dolor sit amet, consectetur adipiscing",   " elit, sed do eiusmod tempor inc <clipped message>",   }, @@ -2188 +2188 @@ var clippingOrSplittingTestCases = map[string]struct {   clipSplitLength: 50,   clippingMessage: "",   splitMax: 10, - expectedOutput: []string{ - "人人生而自由,在尊嚴和權利上一律", // Note: only 48 bytes! + expectedOutput: []string{ + "人人生而自由,在尊嚴和權利上一律", // Note: only 48 bytes!   "平等。 他們都具有理性和良知,應該", // Note: only 49 bytes!   "以兄弟情誼的精神對待彼此。",   },