homeserver: address: ${node.metadata['mautrix-whatsapp']['homeserver']['url']} domain: ${node.metadata['mautrix-whatsapp']['homeserver']['domain']} asmux: false status_endpoint: null message_send_checkpoint_endpoint: null appservice: address: http://${node.metadata['mautrix-whatsapp'].get('listen-addr', '127.0.0.1')}:${node.metadata['mautrix-whatsapp'].get('port', 20020)} hostname: ${node.metadata['mautrix-whatsapp'].get('listen-addr', '127.0.0.1')} port: ${node.metadata['mautrix-whatsapp'].get('port', 20020)} database: type: postgres uri: postgres://${node.metadata.get('mautrix-whatsapp/database/user')}:${node.metadata.get('mautrix-whatsapp/database/password')}@${node.metadata.get('mautrix-whatsapp/database/host', 'localhost')}/${node.metadata.get('mautrix-whatsapp/database/database')}?sslmode=disable max_open_conns: 20 max_idle_conns: 2 max_conn_idle_time: null max_conn_lifetime: null provisioning: prefix: /_matrix/provision/v1 % if node.metadata.get('mautrix-whatsapp/provisioning/enabled'): shared_secret: ${node.metadata.get('mautrix-whatsapp/provisioning/shared_secret')} % else: shared_secret: disable % endif segment_key: null id: whatsapp bot: username: whatsappbot displayname: WhatsApp bridge bot avatar: mxc://maunium.net/NeXNQarUbrlYBiPCpprYsRqr ephemeral_events: false as_token: ${node.metadata.get('mautrix-whatsapp/as_token')} hs_token: ${node.metadata.get('mautrix-whatsapp/hs_token')} metrics: enabled: false listen: 127.0.0.1:8001 whatsapp: os_name: Mautrix-WhatsApp bridge browser_name: unknown bridge: username_template: whatsapp_{{.}} displayname_template: "{{if .PushName}}{{.PushName}}{{else if .BusinessName}}{{.BusinessName}}{{else}}{{.JID}}{{end}} (WhatsApp)" personal_filtering_spaces: true delivery_receipts: true call_start_notices: true identity_change_notices: true portal_message_buffer: 128 history_sync: create_portals: true max_age: ${node.metadata.get('mautrix-whatsapp/sync_max_days', 7)*24*60*60} backfill: false double_puppet_backfill: false request_full_sync: false user_avatar_sync: true bridge_matrix_leave: true sync_with_custom_puppets: true sync_direct_chat_list: false default_bridge_receipts: true default_bridge_presence: true send_presence_on_typing: false force_active_delivery_receipts: false double_puppet_allow_discovery: false private_chat_portal_meta: true bridge_notices: true resend_bridge_info: false mute_bridging: false archive_tag: "m.lowpriority" pinned_tag: null tag_only_on_create: false enable_status_broadcast: true mute_status_broadcast: true whatsapp_thumbnail: false allow_user_invite: false federate_rooms: false disappearing_messages_in_groups: true disable_bridge_alerts: false url_previews: false command_prefix: "!wa" management_room_text: welcome: "Hello, I'm a WhatsApp bridge bot." welcome_connected: "Use `help` for help." welcome_unconnected: "Use `help` for help or `login` to log in." additional_help: "" encryption: allow: false # requires login_shared_secret to be set default: false key_sharing: allow: false require_cross_signing: false require_verification: true permissions: % for user, permission in node.metadata.get('mautrix-whatsapp/permissions').items(): ${user}: ${permission} % endfor relay: enabled: false admin_only: false message_formats: m.text: "{{ .Sender.Displayname }}: {{ .Message }}" m.notice: "{{ .Sender.Displayname }}: {{ .Message }}" m.emote: "* {{ .Sender.Displayname }} {{ .Message }}" m.file: "{{ .Sender.Displayname }} sent a file" m.image: "{{ .Sender.Displayname }} sent an image" m.audio: "{{ .Sender.Displayname }} sent an audio file" m.video: "{{ .Sender.Displayname }} sent a video" m.location: "{{ .Sender.Displayname }} sent a location" logging: directory: /opt/mautrix-whatsapp/logs file_name_format: null file_date_format: 2006-01-02 file_mode: 0600 timestamp_format: "" print_level: info