code: function CommandInterpreter(config) {
      this.token = config.token;
      if (!this.token) {
          debug("token required, skipping interpreter initialization...");
          return;
      }
      
      // A bot should ignore its own messages by default
      // Only case when this would be set to true is for a developer to test a bot with its personal developer token
      if (typeof this.ignoreSelf != "boolean") {
          this.ignoreSelf = true;
      }
  
      // No prefix to commands by default
      this.prefix = config.commandPrefix ? config.commandPrefix : "";
  
      // Bot Mentions should be trimmed by default
      if (typeof this.trimMention != "boolean") {
          this.trimMention = true;
      }
      
      // Let's identify the account type and finalize configuration in there
      this.accountType = "unknown";
  	this.person = null;
      var self = this;
  	detectAccount(this.token, function(err, account, people) {
          if (err) {
              debug("could not retreive account type, err: " + err + ", continuing...");
              return;
          }
  
  		self.accountType = account;
  		self.person = people;
  
          // Decode account id identifier to better trim mentions (see trimMention)
          var temp = new Buffer(people.id, 'base64');
          self.person.rawId = temp.toString().substring(23);
  
          // Infer how Webex would generate a nickname for the bot,
          // which is approximate as the nick name would depend on the name of other room members...
          var splitted = people.displayName.split(' ');
  	    self.nickName = splitted[0];
  	});
  
  }
docs: /* Helper library to interpret commands as they flow in
  Please invoke with a valid Webhook configuration