// mautrix-whatsapp - A Matrix-WhatsApp puppeting bridge. // Copyright (C) 2022 Tulir Asokan // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU Affero General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU Affero General Public License for more details. // // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . package config import ( "maunium.net/go/mautrix/bridge/bridgeconfig" "maunium.net/go/mautrix/id" ) type Config struct { *bridgeconfig.BaseConfig `yaml:",inline"` Analytics struct { Host string `yaml:"host"` Token string `yaml:"token"` UserID string `yaml:"user_id"` } Metrics struct { Enabled bool `yaml:"enabled"` Listen string `yaml:"listen"` } `yaml:"metrics"` WhatsApp struct { OSName string `yaml:"os_name"` BrowserName string `yaml:"browser_name"` } `yaml:"whatsapp"` Bridge BridgeConfig `yaml:"bridge"` } func (config *Config) CanAutoDoublePuppet(userID id.UserID) bool { _, homeserver, _ := userID.Parse() _, hasSecret := config.Bridge.DoublePuppetConfig.SharedSecretMap[homeserver] return hasSecret }