forked from lug/matterbridge
		
	Compare commits
	
		
			1 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					52d4705a91 | 
@@ -80,10 +80,6 @@ func DownloadFileAuthRocket(url, token, userID string) (*[]byte, error) {
 | 
			
		||||
// word boundaries when splitting but this is hard to solve without potentially
 | 
			
		||||
// breaking formatting and other stylistic effects.
 | 
			
		||||
func GetSubLines(message string, maxLineLength int, clippingMessage string) []string {
 | 
			
		||||
	if clippingMessage == "" {
 | 
			
		||||
		clippingMessage = " <clipped message>"
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var lines []string
 | 
			
		||||
	for _, line := range strings.Split(strings.TrimSpace(message), "\n") {
 | 
			
		||||
		if maxLineLength == 0 || len([]byte(line)) <= maxLineLength {
 | 
			
		||||
@@ -98,8 +94,8 @@ func GetSubLines(message string, maxLineLength int, clippingMessage string) []st
 | 
			
		||||
		var splitStart int
 | 
			
		||||
		var startOfPreviousRune int
 | 
			
		||||
		for i := range line {
 | 
			
		||||
			if i-splitStart > maxLineLength-len([]byte(clippingMessage)) {
 | 
			
		||||
				lines = append(lines, line[splitStart:startOfPreviousRune]+clippingMessage)
 | 
			
		||||
			if i-splitStart > maxLineLength {
 | 
			
		||||
				lines = append(lines, line[splitStart:startOfPreviousRune])
 | 
			
		||||
				splitStart = startOfPreviousRune
 | 
			
		||||
			}
 | 
			
		||||
			startOfPreviousRune = i
 | 
			
		||||
 
 | 
			
		||||
@@ -25,7 +25,7 @@ import (
 | 
			
		||||
 | 
			
		||||
type Birc struct {
 | 
			
		||||
	i                                         *girc.Client
 | 
			
		||||
	Nick                                      string
 | 
			
		||||
	Nick, MessageClipped                      string
 | 
			
		||||
	names                                     map[string][]string
 | 
			
		||||
	connected                                 chan error
 | 
			
		||||
	Local                                     chan config.Message // local queue for flood control
 | 
			
		||||
@@ -172,10 +172,11 @@ func (b *Birc) Send(msg config.Message) (string, error) {
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if b.GetBool("MessageSplit") {
 | 
			
		||||
		msgLines = helper.GetSubLines(msg.Text, b.MessageLength, b.GetString("MessageClipped"))
 | 
			
		||||
		msgLines = helper.GetSubLines(msg.Text, b.MessageLength, "")
 | 
			
		||||
	} else {
 | 
			
		||||
		msgLines = helper.GetSubLines(msg.Text, 0, b.GetString("MessageClipped"))
 | 
			
		||||
		msgLines = []string{helper.GetSubLines(msg.Text, b.MessageLength, "")[0] + b.getMessageClipped()}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	for i := range msgLines {
 | 
			
		||||
		if len(b.Local) >= b.MessageQueue {
 | 
			
		||||
			b.Log.Debugf("flooding, dropping message (queue at %d)", len(b.Local))
 | 
			
		||||
@@ -411,3 +412,11 @@ func (b *Birc) getTLSConfig() (*tls.Config, error) {
 | 
			
		||||
 | 
			
		||||
	return tlsConfig, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (b *Birc) getMessageClipped() string {
 | 
			
		||||
	if b.GetString("MessageClipped") == "" {
 | 
			
		||||
		return " <clipped message>"
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return " " + b.GetString("MessageClipped")
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user