Skip to content
Extraits de code Groupes Projets
Sélectionner une révision Git
  • 76b732c3c7da3519a1ce9339b9f8dacfa5c5a352
  • master par défaut protégée
  • rust-playlist-sync
  • rust
  • fix-qt-deprecated-qvariant-type
  • fix-mpris-qtwindow-race-condition
  • rust-appimage-wayland
  • windows-build-rebased
  • v2.5 protégée
  • v2.4 protégée
  • v2.3-1 protégée
  • v2.3 protégée
  • v2.2 protégée
  • v2.1 protégée
  • v2.0 protégée
  • v1.8-3 protégée
  • v1.8-2 protégée
  • v1.8-1 protégée
  • v1.8 protégée
  • v1.7 protégée
  • v1.6 protégée
  • v1.5 protégée
  • v1.4 protégée
  • v1.3 protégée
  • v1.2 protégée
  • v1.1 protégée
  • v1.0 protégée
27 résultats

cmd.c

Blame
  • config.ts 2,94 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 secret: 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;
      public disableMessaging: boolean = false;
      public unsetRoomAlias: boolean = true;
      public unlistFromDirectory: boolean = true;
      public setInviteOnly: boolean = true;
      public ghostsLeave: boolean = true;
    }
    
    class DiscordBridgeConfigLimits {
      public roomGhostJoinDelay: number = 6000;
      public discordSendDelay: number = 750;
    }
    
    export class LoggingFile {
      public file: string;
      public level: string = "info";
      public maxFiles: string = "14d";
      public maxSize: string|number = "50m";
      public datePattern: string = "YYYY-MM-DD";
      public enabled: string[] = [];
      public disabled: string[] = [];
    }