mirror of
https://github.com/cwinfo/matterbridge.git
synced 2024-11-22 12:50:27 +00:00
Limit message length (irc). Closes #179
This commit is contained in:
parent
87229bab13
commit
9d9cb32f4e
@ -59,6 +59,7 @@ type Protocol struct {
|
|||||||
Protocol string //all protocols
|
Protocol string //all protocols
|
||||||
MessageQueue int // IRC, size of message queue for flood control
|
MessageQueue int // IRC, size of message queue for flood control
|
||||||
MessageDelay int // IRC, time in millisecond to wait between messages
|
MessageDelay int // IRC, time in millisecond to wait between messages
|
||||||
|
MessageLength int // IRC, max length of a message allowed
|
||||||
MessageFormat string // telegram
|
MessageFormat string // telegram
|
||||||
RemoteNickFormat string // all protocols
|
RemoteNickFormat string // all protocols
|
||||||
Server string // IRC,mattermost,XMPP,discord
|
Server string // IRC,mattermost,XMPP,discord
|
||||||
|
@ -46,6 +46,9 @@ func New(cfg config.Protocol, account string, c chan config.Message) *Birc {
|
|||||||
if b.Config.MessageQueue == 0 {
|
if b.Config.MessageQueue == 0 {
|
||||||
b.Config.MessageQueue = 30
|
b.Config.MessageQueue = 30
|
||||||
}
|
}
|
||||||
|
if b.Config.MessageLength == 0 {
|
||||||
|
b.Config.MessageLength = 400
|
||||||
|
}
|
||||||
return b
|
return b
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -111,6 +114,9 @@ func (b *Birc) Send(msg config.Message) error {
|
|||||||
b.Command(&msg)
|
b.Command(&msg)
|
||||||
}
|
}
|
||||||
for _, text := range strings.Split(msg.Text, "\n") {
|
for _, text := range strings.Split(msg.Text, "\n") {
|
||||||
|
if len(text) > b.Config.MessageLength {
|
||||||
|
text = text[:b.Config.MessageLength] + " <message clipped>"
|
||||||
|
}
|
||||||
if len(b.Local) < b.Config.MessageQueue {
|
if len(b.Local) < b.Config.MessageQueue {
|
||||||
if len(b.Local) == b.Config.MessageQueue-1 {
|
if len(b.Local) == b.Config.MessageQueue-1 {
|
||||||
text = text + " <message clipped>"
|
text = text + " <message clipped>"
|
||||||
|
@ -48,10 +48,15 @@ MessageDelay=1300
|
|||||||
|
|
||||||
#Maximum amount of messages to hold in queue. If queue is full
|
#Maximum amount of messages to hold in queue. If queue is full
|
||||||
#messages will be dropped.
|
#messages will be dropped.
|
||||||
#<clipped> will be add to the message that fills the queue.
|
#<message clipped> will be add to the message that fills the queue.
|
||||||
#OPTIONAL (default 30)
|
#OPTIONAL (default 30)
|
||||||
MessageQueue=30
|
MessageQueue=30
|
||||||
|
|
||||||
|
#Maximum length of message sent to irc server. If it exceeds
|
||||||
|
#<message clipped> will be add to the message.
|
||||||
|
#OPTIONAL (default 400)
|
||||||
|
MessageLength=400
|
||||||
|
|
||||||
#Nicks you want to ignore.
|
#Nicks you want to ignore.
|
||||||
#Messages from those users will not be sent to other bridges.
|
#Messages from those users will not be sent to other bridges.
|
||||||
#OPTIONAL
|
#OPTIONAL
|
||||||
|
Loading…
Reference in New Issue
Block a user