User

Difference between revisions of "Yug/common.js"

< User:Yug

 
(9 intermediate revisions by the same user not shown)
Line 10: Line 10:
 
var propertyId = "P4";      // Property to update (P4)
 
var propertyId = "P4";      // Property to update (P4)
 
var newValue = "Q359";      // Value to set (Q359)
 
var newValue = "Q359";      // Value to set (Q359)
 +
var numericId = Number(newValue.replace("Q", ""));
 +
var csrfToken = mw.user.tokens.get("csrfToken");
 +
var params = {
 +
action: 'query',
 +
meta: 'tokens',
 +
type: 'csrf',
 +
format: 'json'
 +
},
 +
api = new mw.Api();
  
 +
api.get( params ).done( function ( data ) {
 +
csrfToken = data.query.tokens.csrftoken;
 +
console.log( csrfToken );
 +
} );
 +
 +
console.log( "token2", csrfToken );
 +
 
// Define the API endpoint
 
// Define the API endpoint
 
var apiUrl = "https://lingualibre.org/api.php";
 
var apiUrl = "https://lingualibre.org/api.php";
Line 21: Line 37:
 
   action: "wbsetclaimvalue",
 
   action: "wbsetclaimvalue",
 
   format: "json",
 
   format: "json",
 +
    snaktype: "value",
 
   claim: JSON.stringify({
 
   claim: JSON.stringify({
 
     entity: entityId,
 
     entity: entityId,
Line 27: Line 44:
 
     value: {
 
     value: {
 
       "entity-type": "item",
 
       "entity-type": "item",
       "numeric-id": newValue.replace("Q", "")
+
//    "value": numericId ,
 +
       "numeric-id": numericId
 
     }
 
     }
 
   }),
 
   }),
 
   summary: editSummary,
 
   summary: editSummary,
   token: mw.user.tokens.get("csrfToken")
+
   token:csrfToken
 
};
 
};
  

Latest revision as of 16:01, 2 October 2023

// Modules loader, conditional
// Sound library
if(/^User:Elfix\/LinguaLibre:Explore_the_sound_library(\/[a-z_-]+)?$/.test( mw.config.get( 'wgPageName' ) ) ) {
 mw.loader.load( '/index.ptitle=User:Elfix/MediaWiki:SoundLibrary.js&action=raw&ctype=text/javascript'); 
}

// ==UserScript==
// @name         Wikidata Editor
var entityId = "Q170146";   // Entity to update (Q170146)
var propertyId = "P4";      // Property to update (P4)
var newValue = "Q359";      // Value to set (Q359)
var numericId = Number(newValue.replace("Q", ""));
var csrfToken = mw.user.tokens.get("csrfToken");
var params = {
		action: 'query',
		meta: 'tokens',
		type: 'csrf',
		format: 'json'
	},
	api = new mw.Api();

api.get( params ).done( function ( data ) {
	csrfToken = data.query.tokens.csrftoken;
	console.log( csrfToken );
} );

	console.log( "token2", csrfToken );
	
// Define the API endpoint
var apiUrl = "https://lingualibre.org/api.php";

// Define the edit summary
var editSummary = "Updating property P4";

// Create an object with the data to update
var postData = {
  action: "wbsetclaimvalue",
  format: "json",
    snaktype: "value",
  claim: JSON.stringify({
    entity: entityId,
    property: propertyId,
    snaktype: "value",
    value: {
      "entity-type": "item",
 //     "value": numericId ,
      "numeric-id": numericId 
    }
  }),
  summary: editSummary,
  token:csrfToken
};

// Send a POST request to update the item
$.post(apiUrl, postData, function(data) {
  if (data.success) {
    console.log("Item updated successfully!");
  } else {
    console.error("Error updating item:", data.error.info);
  }
});