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