# 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_docker_image_force_pull: "{{ matrix_appservice_discord_docker_image.endswith(':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 ":" or "" 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) }}"