message: Test GroupIDs against a regex to ensure they are correct.
diff: @@ -6,6 +6,8 @@ var logging = require("../logging");
  var IrcClientConfig = require("../models/IrcClientConfig");
  var log = logging.get("IrcServer");
  +const GROUP_ID_REGEX = /^\+\S*:\S*$/;
  +
  /**
  * Construct a new IRC Server.
  * @constructor
  @@ -28,6 +30,15 @@ function IrcServer(domain, serverConfig, homeserverDomain, expiryTimeSeconds) {
  this._addresses.push(domain);
  this._homeserverDomain = homeserverDomain;
  this._expiryTimeSeconds = expiryTimeSeconds;
  +
  + if (this.config.dynamicChannels.groupId !== undefined && this.config.dynamicChannels.groupId.trim() !== "") {
  + this._groupIdValid = GROUP_ID_REGEX.exec(this.config.dynamicChannels.groupId) !== null;
  + if (!this._groupIdValid) {
  + log.warn(`${domain} has an incorrectly configured groupId for dynamicChannels and will not set groups.`);
  + }
  + } else {
  + this._groupIdValid = false;
  + }
  }
  /**
  @@ -147,8 +158,7 @@ IrcServer.prototype.getJoinRule = function() {
  };
  IrcServer.prototype.areGroupsEnabled = function() {
  - return this.config.dynamicChannels.groupId !== undefined &&
  - this.config.dynamicChannels.groupId !== "";
  + return this._groupIdValid;
  };
  IrcServer.prototype.getGroupId = function() {
  