Skip to content
Extraits de code Groupes Projets
Sélectionner une révision Git
  • 087f08ad13c760709d3fd1b594f3ff62f4349f23
  • develop par défaut protégée
  • implement-discord-markdown-update
  • matrix-attachments-order-fix
  • fix-oversized-file-transfer
  • matrix-attachment-order-fix
  • matrix-answer-modified-fix
  • cherry-pick-moise
8 résultats

config.ts

Blame
  • Bifurcation depuis ARISE / matrix-appservice-discord
    Le projet source a une visibilité limitée.
    config.ts 3,07 Kio
    /** Type annotations for config/config.schema.yaml */
    export class DiscordBridgeConfig {
        public bridge: DiscordBridgeConfigBridge = new DiscordBridgeConfigBridge();
        public auth: DiscordBridgeConfigAuth = new DiscordBridgeConfigAuth();
        public logging: DiscordBridgeConfigLogging = new DiscordBridgeConfigLogging();
        public database: DiscordBridgeConfigDatabase = new DiscordBridgeConfigDatabase();
        public room: DiscordBridgeConfigRoom = new DiscordBridgeConfigRoom();
        public channel: DiscordBridgeConfigChannel = new DiscordBridgeConfigChannel();
        public limits: DiscordBridgeConfigLimits = new DiscordBridgeConfigLimits();
    
        /**
         * Apply a set of keys and values over the default config.
         * @param _config Config keys
         * @param configLayer Private parameter
         */
        public ApplyConfig(newConfig: {[key: string]: any}, configLayer: any = this) {
              Object.keys(newConfig).forEach((key) => {
                if ( typeof(configLayer[key]) === "object" &&
                        !Array.isArray(configLayer[key])) {
                    this.ApplyConfig(newConfig[key], this[key]);
                    return;
                }
                configLayer[key] = newConfig[key];
            });
        }
    }
    
    class DiscordBridgeConfigBridge {
        public domain: string;
        public homeserverUrl: string;
        public presenceInterval: number = 500;
        public disablePresence: boolean;
        public disableTypingNotifications: boolean;
        public disableDiscordMentions: boolean;
        public disableDeletionForwarding: boolean;
        public enableSelfServiceBridging: boolean;
        public disableEveryoneMention: boolean = false;
        public disableHereMention: boolean = false;
    }
    
    export class DiscordBridgeConfigDatabase {
        public connString: string;
        public filename: string;
        public userStorePath: string;
        public roomStorePath: string;
    }
    
    export class DiscordBridgeConfigAuth {
        public clientID: string;
        public botToken: string;
    }
    
    export class DiscordBridgeConfigLogging {
        public console: string = "info";
        public lineDateFormat: string = "MMM-D HH:mm:ss.SSS";
        public files: LoggingFile[] = [];
    }
    
    class DiscordBridgeConfigRoom {
        public defaultVisibility: string;
    }
    
    class DiscordBridgeConfigChannel {
        public namePattern: string = "[Discord] :guild :name";
        public deleteOptions = new DiscordBridgeConfigChannelDeleteOptions();
    }
    
    class DiscordBridgeConfigChannelDeleteOptions {
        public namePrefix: string = null;
        public topicPrefix: string = null;