# matrix-appservice-discord is a Matrix <-> Discord bridge
# See: https://github.com/Half-Shot/matrix-appservice-discord
matrix_appservice_discord_enabled : true
matrix_appservice_discord_docker_image : "halfshot/matrix-appservice-discord:latest"
matrix_appservice_discord_base_path : "{{ matrix_base_data_path }}/appservice-discord"
# Get your own keys at https://discordapp.com/developers/applications/me/create
matrix_appservice_discord_client_id : ''
matrix_appservice_discord_bot_token : ''
# Controls whether the matrix-appservice-discord container exposes its HTTP port (tcp/9005 in the container).
#
# Takes an "<ip>:<port>" or "<port>" value (e.g. "127.0.0.1:9005"), or empty string to not expose.
matrix_appservice_discord_container_http_host_bind_port : ''
# A list of extra arguments to pass to the container
matrix_appservice_discord_container_extra_arguments : [ ]
# List of systemd services that matrix-appservice-discord.service depends on.
matrix_appservice_discord_systemd_required_services_list : [ 'docker.service' ]
# List of systemd services that matrix-appservice-discord.service wants
matrix_appservice_discord_systemd_wanted_services_list : [ ]
matrix_appservice_discord_configuration_yaml : |
bridge :
domain : "{{ matrix_domain }}"
homeserverUrl : "{{ matrix_homeserver_url }}"
auth :
clientID : "{{matrix_appservice_discord_client_id}}"
botToken : "{{matrix_appservice_discord_bot_token}}"
database :
filename : "/data/discord.db"
userStorePath : "/data/user-store.db"
roomStorePath : "/data/room-store.db"
matrix_appservice_discord_configuration_extension_yaml : |
# This is a sample of the config file showing all avaliable options.
# Where possible we have documented what they do, and all values are the
# default values.
#
#bridge:
# # Domain part of the bridge, e.g. matrix.org
# domain: "localhost"
# # This should be your publically facing URL because Discord may use it to
# # fetch media from the media store.
# homeserverUrl: "http://localhost:8008"
# # Interval at which to process users in the 'presence queue'. If you have
# # 5 users, one user will be processed every 500 milliseconds according to the
# # value below. This has a minimum value of 250.
# # WARNING: This has a high chance of spamming the homeserver with presence
# # updates since it will send one each time somebody changes state or is online.
# presenceInterval: 500
# # Disable setting presence for 'ghost users' which means Discord users on Matrix
# # will not be shown as away or online.
# disablePresence: false
# # Disable sending typing notifications when somebody on Discord types.
# disableTypingNotifications: false
# # Disable deleting messages on Discord if a message is redacted on Matrix.
# disableDeletionForwarding: false
# # Enable users to bridge rooms using !discord commands. See
# # https://t2bot.io/discord for instructions.
# enableSelfServiceBridging: false
# # Disable sending of read receipts for Matrix events which have been
# # successfully bridged to Discord.
# disableReadReceipts: false
# Authentication configuration for the discord bot.
#auth:
# clientID: "12345"
# botToken: "foobar"
#logging:
# # What level should the logger output to the console at.
# console: "warn" #silly, verbose, info, http, warn, error, silent
# lineDateFormat: "MMM-D HH:mm:ss.SSS" # This is in moment.js format
# files:
# - file: "debug.log"
# disable:
# - "PresenceHandler" # Will not capture presence logging
# - file: "warn.log" # Will capture warnings
# level: "warn"
# - file: "botlogs.log" # Will capture logs from DiscordBot
# level: "info"
# enable:
# - "DiscordBot"
#database:
# userStorePath: "user-store.db"
# roomStorePath: "room-store.db"
# # You may either use SQLite or Postgresql for the bridge database, which contains
# # important mappings for events and user puppeting configurations.
# # Use the filename option for SQLite, or connString for Postgresql.
# # If you are migrating, see https://github.com/Half-Shot/matrix-appservice-discord/blob/master/docs/howto.md#migrate-to-postgres-from-sqlite
# # WARNING: You will almost certainly be fine with sqlite unless your bridge
# # is in heavy demand and you suffer from IO slowness.
# filename: "discord.db"
# # connString: "postgresql://user:password@localhost/database_name"
#room:
# # Set the default visibility of alias rooms, defaults to "public".
# # One of: "public", "private"
# defaultVisibility: "public"
#channel:
# # Pattern of the name given to bridged rooms.
# # Can use :guild for the guild name and :name for the channel name.
# namePattern: "[Discord] :guild :name"
# # Changes made to rooms when a channel is deleted.
# deleteOptions:
# # Prefix the room name with a string.
# #namePrefix: "[Deleted]"
# # Prefix the room topic with a string.
# #topicPrefix: "This room has been deleted"
# # Disable people from talking in the room by raising the event PL to 50
# disableMessaging: false
# # Remove the discord alias from the room.
# unsetRoomAlias: true
# # Remove the room from the directory.
# unlistFromDirectory: true
# # Set the room to be unavaliable for joining without an invite.
# setInviteOnly: true
# # Make all the discord users leave the room.
# ghostsLeave: true
#limits:
# # Delay in milliseconds between discord users joining a room.
# roomGhostJoinDelay: 6000
# # Delay in milliseconds before sending messages to discord to avoid echos.
# # (Copies of a sent message may arrive from discord before we've
# # fininished handling it, causing us to echo it back to the room)
# discordSendDelay: 750
matrix_appservice_discord_configuration_extension : "{{ matrix_appservice_discord_configuration_extension_yaml|from_yaml if matrix_appservice_discord_configuration_extension_yaml|from_yaml is mapping else {} }}"
matrix_appservice_discord_configuration : "{{ matrix_appservice_discord_configuration_yaml|from_yaml|combine(matrix_appservice_discord_configuration_extension, recursive=True) }}"