#jinja2: lstrip_blocks: "True"
bridge:
  # Port to host the bridge on
  # Used for communication between the homeserver and the bridge
  port: {{ matrix_mx_puppet_discord_appservice_port }}
  # The host connections to the bridge's webserver are allowed from
  bindAddress: 0.0.0.0
  # Public domain of the homeserver
  domain: {{ matrix_mx_puppet_discord_homeserver_domain }}
  # Reachable URL of the Matrix homeserver
  homeserverUrl: {{ matrix_mx_puppet_discord_homeserver_address }}
  # Optionally specify a different media URL used for the media store
  #
  # This is where Discord will download user profile pictures and media
  # from
  mediaUrl: {{ matrix_mx_puppet_discord_bridge_mediaUrl }}
  {% if matrix_mx_puppet_discord_login_shared_secret != '' %}
  loginSharedSecretMap:
    {{ matrix_domain }}: {{ matrix_mx_puppet_discord_login_shared_secret }}
  {% endif %}
  # Display name of the bridge bot
  displayname: Discord Puppet Bridge

presence:
  # Bridge Discord online/offline status
  enabled: true
  # How often to send status to the homeserver in milliseconds
  interval: 5000

provisioning:
  # Regex of Matrix IDs allowed to use the puppet bridge
  whitelist: {{ matrix_mx_puppet_discord_provisioning_whitelist|to_json }}
    # Allow a specific user
    #- "@user:server\\.com"
    # Allow users on a specific homeserver
    #- "@.*:yourserver\\.com"
    # Allow anyone
    #- ".*"
  # Regex of Matrix IDs forbidden from using the puppet bridge
  #blacklist:
    # Disallow a specific user
    #- "@user:server\\.com"
    # Disallow users on a specific homeserver
    #- "@.*:yourserver\\.com"
  blacklist: {{ matrix_mx_puppet_discord_provisioning_blacklist|to_json }}

relay:
  # Regex of Matrix IDs who are allowed to use the bridge in relay mode.
  # Relay mode is when a single Discord bot account relays messages of
  # multiple Matrix users
  #
  # Same format as in provisioning
  whitelist: {{ matrix_mx_puppet_discord_provisioning_whitelist|to_json }}
  blacklist: {{ matrix_mx_puppet_discord_provisioning_blacklist|to_json }}

selfService:
  # Regex of Matrix IDs who are allowed to use bridge self-servicing (plumbed rooms)
  #
  # Same format as in provisioning
  whitelist: {{ matrix_mx_puppet_discord_provisioning_whitelist|to_json }}
  blacklist: {{ matrix_mx_puppet_discord_provisioning_blacklist|to_json }}

# Override the default name patterns for users, rooms and groups
#
# Variable names must be prefixed with a ':'
namePatterns:
  # The default displayname for a bridged user
  #
  # Available variables:
  #
  # name: username of the user
  # discriminator: hashtag of the user (ex. #1234)
  user: :name

  # A user's guild-specific displayname - if they've set a custom nick in
  # a guild
  #
  # Available variables:
  #
  # name: username of the user
  # discriminator: hashtag of the user (ex. #1234)
  # displayname: the user's custom group-specific nick
  # channel: the name of the channel
  # guild: the name of the guild
  userOverride: :name

  # Room names for bridged Discord channels
  #
  # Available variables:
  #
  # name: name of the channel
  # guild: name of the guild
  room: :name

  # Group names for bridged Discord servers
  #
  # Available variables:
  #
  # name: name of the guide
  group: :name

database:
{% if matrix_mx_puppet_discord_database_engine == 'sqlite' %}
  # Use SQLite3 as a database backend
  # The name of the database file
  filename: {{ matrix_mx_puppet_discord_sqlite_database_path_in_container|to_json }}
{% else %}
  # Use Postgres as a database backend
  # If set, will be used instead of SQLite3
  # Connection string to connect to the Postgres instance
  # with username "user", password "pass", host "localhost" and database name "dbname".
  # Modify each value as necessary
  connString: {{ matrix_mx_puppet_discord_database_connection_string|to_json }}
{% endif %}

logging:
  # Log level of console output
  # Allowed values starting with most verbose:
  # silly, debug, verbose, info, warn, error
  console: warn
  # Date and time formatting
  lineDateFormat: MMM-D HH:mm:ss.SSS
  # Logging files
  # Log files are rotated daily by default
  files: []
