# This is a sample of the config file showing all available 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: "{{ matrix_server_name }}" # This should be your publicly-facing URL because Discord may use it to # fetch media from the media store. homeserverUrl: "https://{{ matrix_server_name }}" # The TCP port on which the appservice runs on. port: 9005 # 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 # Disable portal bridging, where Matrix users can search for unbridged Discord # rooms on their Matrix server. disablePortalBridging: 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 # Disable Join Leave echos from matrix disableJoinLeaveNotifications: false # Disable Invite echos from matrix disableInviteNotifications: false # Auto-determine the language of code blocks (this can be CPU-intensive) determineCodeLanguage: false # Authentication configuration for the discord bot. auth: # This MUST be a string (wrapped in quotes) clientID: "{{ matrix_bridge_discord_client_ID }}" botToken: "{{ matrix_bridge_discord_botToken }}" # You must enable "Privileged Gateway Intents" in your bot settings on discord.com (e.g. https://discord.com/developers/applications/12345/bot) # for this to work usePrivilegedIntents: true 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: # 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://bridge_discor_user:{{ matrix_bridge_discord_postgre_user_pwd }}@localhost/bridge_discord" room: # Set the default visibility of alias rooms, defaults to "public". # One of: "public", "private" defaultVisibility: "private" 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 unavailable 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 # Lock timeout in milliseconds before sending messages to discord to avoid # echos. Default is rather high as the lock will most likely time out # before anyways. # 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: 1500 # Set a maximum of rooms to be bridged. # roomCount: 20 ghosts: # Pattern for the ghosts nick, available is :nick, :username, :tag and :id nickPattern: ":nick" # Pattern for the ghosts username, available is :username, :tag and :id usernamePattern: ":username#:tag" # Prometheus-compatible metrics endpoint metrics: enable: false port: 9001 host: "127.0.0.1"