config

package
v0.0.0-...-8d3eb59 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 10, 2023 License: AGPL-3.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var SpacedBlocks = [][]string{
	{"homeserver", "software"},
	{"appservice"},
	{"appservice", "id"},
	{"appservice", "as_token"},
	{"imessage"},
	{"bridge"},
	{"bridge", "username_template"},
	{"bridge", "delivery_receipts"},
	{"bridge", "encryption"},
	{"bridge", "relay"},
	{"logging"},
	{"revision"},
}

Functions

func DoUpgrade

func DoUpgrade(helper *up.Helper)

func Download

func Download(configURL, saveTo string, outputRedirect bool) error

Types

type BridgeConfig

type BridgeConfig struct {
	User id.UserID `yaml:"user"`

	UsernameTemplate    string `yaml:"username_template"`
	DisplaynameTemplate string `yaml:"displayname_template"`

	PersonalFilteringSpaces bool `yaml:"personal_filtering_spaces"`

	DeliveryReceipts    bool `yaml:"delivery_receipts"`
	MessageStatusEvents bool `yaml:"message_status_events"`
	SendErrorNotices    bool `yaml:"send_error_notices"`

	MaxHandleSeconds int    `yaml:"max_handle_seconds"`
	DeviceID         string `yaml:"device_id"`

	SyncWithCustomPuppets bool   `yaml:"sync_with_custom_puppets"`
	SyncDirectChatList    bool   `yaml:"sync_direct_chat_list"`
	LoginSharedSecret     string `yaml:"login_shared_secret"`
	DoublePuppetServerURL string `yaml:"double_puppet_server_url"`
	Backfill              struct {
		Enable               bool    `yaml:"enable"`
		OnlyBackfill         bool    `yaml:"only_backfill"`
		InitialLimit         int     `yaml:"initial_limit"`
		InitialSyncMaxAge    float64 `yaml:"initial_sync_max_age"`
		UnreadHoursThreshold int     `yaml:"unread_hours_threshold"`
		Immediate            struct {
			MaxEvents int `yaml:"max_events"`
		} `yaml:"immediate"`

		Deferred []DeferredConfig `yaml:"deferred"`
	} `yaml:"backfill"`
	PeriodicSync       bool `yaml:"periodic_sync"`
	FindPortalsIfEmpty bool `yaml:"find_portals_if_db_empty"`
	MediaViewer        struct {
		URL        string `yaml:"url"`
		Homeserver string `yaml:"homeserver"`
		SMSMinSize int    `yaml:"sms_min_size"`
		IMMinSize  int    `yaml:"imessage_min_size"`
		Template   string `yaml:"template"`
	} `yaml:"media_viewer"`
	ConvertHEIF  bool `yaml:"convert_heif"`
	ConvertTIFF  bool `yaml:"convert_tiff"`
	ConvertVideo struct {
		Enabled    bool     `yaml:"enabled"`
		FFMPEGArgs []string `yaml:"ffmpeg_args"`
		MimeType   string   `yaml:"mime_type"`
		Extension  string   `yaml:"extension"`
	} `yaml:"convert_video"`
	CommandPrefix          string `yaml:"command_prefix"`
	ForceUniformDMSenders  bool   `yaml:"force_uniform_dm_senders"`
	DisableSMSPortals      bool   `yaml:"disable_sms_portals"`
	RerouteSMSGroupReplies bool   `yaml:"reroute_mms_group_replies"`
	FederateRooms          bool   `yaml:"federate_rooms"`
	CaptionInMessage       bool   `yaml:"caption_in_message"`
	PrivateChatPortalMeta  string `yaml:"private_chat_portal_meta"`

	Encryption bridgeconfig.EncryptionConfig `yaml:"encryption"`

	Relay RelayConfig `yaml:"relay"`
	// contains filtered or unexported fields
}

func (BridgeConfig) EnableMessageErrorNotices

func (bc BridgeConfig) EnableMessageErrorNotices() bool

func (BridgeConfig) EnableMessageStatusEvents

func (bc BridgeConfig) EnableMessageStatusEvents() bool

func (BridgeConfig) FormatDisplayname

func (bc BridgeConfig) FormatDisplayname(name string) string

func (BridgeConfig) FormatUsername

func (bc BridgeConfig) FormatUsername(username string) string

func (BridgeConfig) GetCommandPrefix

func (bc BridgeConfig) GetCommandPrefix() string

func (BridgeConfig) GetEncryptionConfig

func (bc BridgeConfig) GetEncryptionConfig() bridgeconfig.EncryptionConfig

func (BridgeConfig) GetManagementRoomTexts

func (bc BridgeConfig) GetManagementRoomTexts() bridgeconfig.ManagementRoomTexts

func (BridgeConfig) GetResendBridgeInfo

func (bc BridgeConfig) GetResendBridgeInfo() bool

func (*BridgeConfig) UnmarshalYAML

func (bc *BridgeConfig) UnmarshalYAML(unmarshal func(interface{}) error) error

func (BridgeConfig) Validate

func (bc BridgeConfig) Validate() error

type Config

type Config struct {
	*bridgeconfig.BaseConfig `yaml:",inline"`

	IMessage imessage.PlatformConfig `yaml:"imessage"`
	Segment  SegmentConfig           `yaml:"segment"`
	Bridge   BridgeConfig            `yaml:"bridge"`

	HackyStartupTest struct {
		Identifier      string `yaml:"identifier"`
		Message         string `yaml:"message"`
		ResponseMessage string `yaml:"response_message"`
		Key             string `yaml:"key"`
		EchoMode        bool   `yaml:"echo_mode"`
		SendOnStartup   bool   `yaml:"send_on_startup"`
		PeriodicResolve int    `yaml:"periodic_resolve"`
	} `yaml:"hacky_startup_test"`
}

type DeferredConfig

type DeferredConfig struct {
	StartDaysAgo   int `yaml:"start_days_ago"`
	MaxBatchEvents int `yaml:"max_batch_events"`
	BatchDelay     int `yaml:"batch_delay"`
}

type RelayConfig

type RelayConfig struct {
	Enabled        bool                         `yaml:"enabled"`
	Whitelist      []string                     `yaml:"whitelist"`
	MessageFormats map[event.MessageType]string `yaml:"message_formats"`
	// contains filtered or unexported fields
}

func (*RelayConfig) FormatMessage

func (rc *RelayConfig) FormatMessage(content *event.MessageEventContent, sender id.UserID, member event.MemberEventContent) (string, error)

func (*RelayConfig) IsWhitelisted

func (rc *RelayConfig) IsWhitelisted(userID id.UserID) bool

func (*RelayConfig) UnmarshalYAML

func (rc *RelayConfig) UnmarshalYAML(unmarshal func(interface{}) error) error

type SegmentConfig

type SegmentConfig struct {
	Key    string `yaml:"key"`
	UserID string `yaml:"user_id"`
}

type Sender

type Sender struct {
	UserID string
	event.MemberEventContent
}

type UsernameTemplateArgs

type UsernameTemplateArgs struct {
	UserID id.UserID
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL