User
Difference between revisions of "Yug/common.js"
< User:Yug
Tag: Undo |
|||
Line 7: | Line 7: | ||
// ==UserScript== | // ==UserScript== | ||
// @name Wikidata Editor | // @name Wikidata Editor | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
(function() { | (function() { | ||
var entityId = "Q170146"; // Your Wikidata entity ID (QID) | var entityId = "Q170146"; // Your Wikidata entity ID (QID) |
Revision as of 14:44, 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
(function() {
var entityId = "Q170146"; // Your Wikidata entity ID (QID)
var propertyId = "P4"; // Property ID (P4)
var newValue = "Q359"; // Value to set (Q359)
// Fetch current data
fetch("https://lingualibre.org/api?action=wbgetentities&format=json&ids=" + entityId)
.then(function(response) {
return response.json();
})
.then(function(data) {
if (data.success) {
// Modify data
data.entities[entityId].claims[propertyId] = [
{
mainsnak: {
snaktype: "value",
property: propertyId,
datavalue: {
value: {
"entity-type": "item",
"numeric-id": newValue.replace("Q", "359")
},
type: "wikibase-entityid"
}
},
rank: "normal",
references: [],
}
];
// Submit changes
fetch("https://lingualibre.org/api?action=wbeditentity&format=json", {
method: "POST",
body: JSON.stringify({
id: entityId,
data: JSON.stringify(data.entities[entityId]),
summary: "Updating property P4",
}),
headers: {
"Content-Type": "application/x-www-form-urlencoded",
},
})
.then(function(response) {
return response.json();
})
.then(function(responseData) {
console.log("Edit response:", responseData);
})
.catch(function(error) {
console.error("An error occurred:", error);
});
}
})
.catch(function(error) {
console.error("An error occurred:", error);
});
})();