Add option to disable call start/end notifications. Fixes #68

This commit is contained in:
Tulir Asokan 2019-08-24 22:42:03 +03:00
parent 07d43c4825
commit 80a0edd855
3 changed files with 22 additions and 0 deletions

View file

@ -41,6 +41,11 @@ type BridgeConfig struct {
ReportConnectionRetry bool `yaml:"report_connection_retry"` ReportConnectionRetry bool `yaml:"report_connection_retry"`
ContactWaitDelay int `yaml:"contact_wait_delay"` ContactWaitDelay int `yaml:"contact_wait_delay"`
CallNotices struct {
Start bool `yaml:"start"`
End bool `yaml:"end"`
} `yaml:"call_notices"`
InitialChatSync int `yaml:"initial_chat_sync_count"` InitialChatSync int `yaml:"initial_chat_sync_count"`
InitialHistoryFill int `yaml:"initial_history_fill_count"` InitialHistoryFill int `yaml:"initial_history_fill_count"`
RecoverChatSync int `yaml:"recovery_chat_sync_count"` RecoverChatSync int `yaml:"recovery_chat_sync_count"`
@ -71,6 +76,9 @@ func (bc *BridgeConfig) setDefaults() {
bc.ReportConnectionRetry = true bc.ReportConnectionRetry = true
bc.ContactWaitDelay = 1 bc.ContactWaitDelay = 1
bc.CallNotices.Start = true
bc.CallNotices.End = true
bc.InitialChatSync = 10 bc.InitialChatSync = 10
bc.InitialHistoryFill = 20 bc.InitialHistoryFill = 20
bc.RecoverChatSync = -1 bc.RecoverChatSync = -1

View file

@ -79,6 +79,11 @@ bridge:
# If you have lots of chats, it might take more than a second. # If you have lots of chats, it might take more than a second.
contact_wait_delay: 1 contact_wait_delay: 1
# Whether or not to send call start/end notices to Matrix.
call_notices:
start: true
end: true
# Number of chats to sync for new users. # Number of chats to sync for new users.
initial_chat_sync_count: 10 initial_chat_sync_count: 10
# Number of old messages to fill when creating new portal rooms. # Number of old messages to fill when creating new portal rooms.

View file

@ -578,10 +578,19 @@ func (user *User) HandleCallInfo(info whatsappExt.CallInfo) {
} }
switch info.Type { switch info.Type {
case whatsappExt.CallOffer: case whatsappExt.CallOffer:
if !user.bridge.Config.Bridge.CallNotices.Start {
return
}
data.Text = "Incoming call" data.Text = "Incoming call"
case whatsappExt.CallOfferVideo: case whatsappExt.CallOfferVideo:
if !user.bridge.Config.Bridge.CallNotices.Start {
return
}
data.Text = "Incoming video call" data.Text = "Incoming video call"
case whatsappExt.CallTerminate: case whatsappExt.CallTerminate:
if !user.bridge.Config.Bridge.CallNotices.End {
return
}
data.Text = "Call ended" data.Text = "Call ended"
data.ID += "E" data.ID += "E"
default: default: