forked from lug/matterbridge
		
	Add support for Mumble servers with no message length limit (#2008)
* Rename .{jfif,jpe} to .jpg (mumble)
* Fix messages not sending in properly if no limit is set (mumble)
Co-authored-by: yellows111 <ice_ice@email.com>
* Formatting fix (mumble)
---------
Co-authored-by: yellows111 <ice_ice@email.com>
			
			
This commit is contained in:
		| @@ -42,7 +42,14 @@ func (b *Bmumble) handleTextMessage(event *gumble.TextMessageEvent) { | |||||||
| 		if part.Image == nil { | 		if part.Image == nil { | ||||||
| 			rmsg.Text = part.Text | 			rmsg.Text = part.Text | ||||||
| 		} else { | 		} else { | ||||||
| 			fname := b.Account + "_" + strconv.FormatInt(now.UnixNano(), 10) + "_" + strconv.Itoa(i) + part.FileExtension | 			fileExt := part.FileExtension | ||||||
|  | 			if fileExt == ".jfif" { | ||||||
|  | 				fileExt = ".jpg" | ||||||
|  | 			} | ||||||
|  | 			if fileExt == ".jpe" { | ||||||
|  | 				fileExt = ".jpg" | ||||||
|  | 			} | ||||||
|  | 			fname := b.Account + "_" + strconv.FormatInt(now.UnixNano(), 10) + "_" + strconv.Itoa(i) + fileExt | ||||||
| 			rmsg.Extra = make(map[string][]interface{}) | 			rmsg.Extra = make(map[string][]interface{}) | ||||||
| 			if err = helper.HandleDownloadSize(b.Log, &rmsg, fname, int64(len(part.Image)), b.General); err != nil { | 			if err = helper.HandleDownloadSize(b.Log, &rmsg, fname, int64(len(part.Image)), b.General); err != nil { | ||||||
| 				b.Log.WithError(err).Warn("not including image in message") | 				b.Log.WithError(err).Warn("not including image in message") | ||||||
| @@ -62,7 +69,6 @@ func (b *Bmumble) handleConnect(event *gumble.ConnectEvent) { | |||||||
| 	} | 	} | ||||||
| 	// No need to talk or listen | 	// No need to talk or listen | ||||||
| 	event.Client.Self.SetSelfDeafened(true) | 	event.Client.Self.SetSelfDeafened(true) | ||||||
| 	event.Client.Self.SetSelfMuted(true) |  | ||||||
| 	// if the Channel variable is set, this is a reconnect -> rejoin channel | 	// if the Channel variable is set, this is a reconnect -> rejoin channel | ||||||
| 	if b.Channel != nil { | 	if b.Channel != nil { | ||||||
| 		if err := b.doJoin(event.Client, *b.Channel); err != nil { | 		if err := b.doJoin(event.Client, *b.Channel); err != nil { | ||||||
|   | |||||||
| @@ -250,7 +250,12 @@ func (b *Bmumble) processMessage(msg *config.Message) { | |||||||
| 	// If there is a maximum message length, split and truncate the lines | 	// If there is a maximum message length, split and truncate the lines | ||||||
| 	var msgLines []string | 	var msgLines []string | ||||||
| 	if maxLength := b.serverConfig.MaximumMessageLength; maxLength != nil { | 	if maxLength := b.serverConfig.MaximumMessageLength; maxLength != nil { | ||||||
| 		msgLines = helper.GetSubLines(msg.Text, *maxLength-len(msg.Username), b.GetString("MessageClipped")) | 		if *maxLength != 0 { // Some servers will have unlimited message lengths. | ||||||
|  | 			// Not doing this makes underflows happen. | ||||||
|  | 			msgLines = helper.GetSubLines(msg.Text, *maxLength-len(msg.Username), b.GetString("MessageClipped")) | ||||||
|  | 		} else { | ||||||
|  | 			msgLines = helper.GetSubLines(msg.Text, 0, b.GetString("MessageClipped")) | ||||||
|  | 		} | ||||||
| 	} else { | 	} else { | ||||||
| 		msgLines = helper.GetSubLines(msg.Text, 0, b.GetString("MessageClipped")) | 		msgLines = helper.GetSubLines(msg.Text, 0, b.GetString("MessageClipped")) | ||||||
| 	} | 	} | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 mvoolt
					mvoolt