code: function(id, key) {
        if (id) {
          if (key) {
            return when.promise((resolve, reject) => redis.hdel(id, key, (err, result) => {
              if (err) {
                reject(err);
              } else {
                resolve(result);
              }
            }));
          }
          return when.promise((resolve, reject) => redis.del(id, (err, result) => {
            if (err) {
              resolve(true);
            } else {
              resolve(true);
            }
          }));
        }
        return when.reject(new Error('invalid args'));
      }
docs: Forget a key or entire store.
  
  This method is exposed as bot.forget(key);
  
  @function
  @param {String} id - Room/Conversation/Context ID
  @param {String} [key] - Key under id object (optional). If key is not passed, id and all children are removed.
  @returns {(Promise.<String>|Promise.<Number>|Promise.<Boolean>|Promise.<Array>|Promise.<Object>)}